Zdravím, potřeboval bych pomoct s digitálně podepsaným emailem, zkoušel jsem všechny možné způsoby, vždy se mi vloží obsah certifikátu do body mailu.
Mail body vypadá takto:
bKaJ3t6AMMkSvaAeoMhMtecaVb0UAmf3zoscABzBv0EDJ9osA4VUueVBQUYbd4kc
AqZpSKIu1zsPfZrdBmJQVbq66kO2kIa+P7L1FNgW9051peGn8hUg8JP1yUrCKik5
m9EQXXRy3iIZGepAEczpbmC6zGmVeBiXQUfl/afNq0bZZLD9qvb86NHj0Z3EpsGI
C7giH4/9eTpl
------48BCC340606C04C2614FB9EA56D26481--
kód:
<?php
if(IsSet($_POST["odesli"]))
{
if (!function_exists('file_put_contents')) {
function file_put_contents($filename, $data) {
$f = @fopen($filename, 'w');
if (!$f) {
return false;
} else {
$bytes = fwrite($f, $data);
fclose($f);
return $bytes;
}
}
}
require 'class.phpmailer.php';
$mail = new PHPMailer();
$dn = array(
'countryName' => 'CZ',
'stateOrProvinceName' => 'Vysocina',
'localityName' => 'Jihlava',
'organizationName' => 'Marek',
'organizationalUnitName' => 'Marek',
'commonName' => 'PHPMailer Test',
'emailAddress' => '
svec.marek@centrum.cz'
);
$password = '';
$certfile = 'test_ica.pem';
$keyfile = 'test_ica_s.key';
$pk = openssl_pkey_new();
$csr = openssl_csr_new($dn, $pk);
$cert = openssl_csr_sign($csr, null, $pk, 1);
openssl_x509_export($cert, $certout);
file_put_contents($certfile, $certout);
openssl_pkey_export($pk, $pkeyout, $password);
file_put_contents($keyfile, $pkeyout);
$mail->FromName = "Marek Švec";
$mail->From = "
svec.marek@centrum.cz";
$mail->AddAddress('
svec.marek@centrum.cz');
$mail->Subject = "PHPMailer Test";
$mail->Sign($certfile, $keyfile, $password);
$body = 'test body';
$mail->MsgHTML($body);
//$mail->IsSendMail();
$mail->Host = 'out.smtp.cz';
//$mail->Port = 2500;
if($mail->Send()) {echo "odeslano";} else {echo "chyba".$mail->ErrorInfo;}
}
?>
Už jsem pročetl všechny možné diskuse a vždy bez úspěchu
Verze: PHP Version 4.4.9 OpenSSL/0.9.8
Za vyřešení už snad i zaplatím :-(
Děkuji moc za radu
Marek