Fórum Root.cz
Hlavní témata => Vývoj => Téma založeno: Marek 11. 04. 2013, 22:56:42
-
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
-
zacal bych upgradem na php 5.x a nasledne treba zde
http://www.adam-makes-websites.com/discoveries/sending_secure_certified_s-mime_emails_via_php
-
na této stránce jsem už byl taky, bohužel update na 5.x není možný :-(. Ale co jsem pročetl tak záleží hlavně na verzi ssl a ta je v pořádku.
-
ja jenom, abych si ujasnil, co je za problem -> obsah emailu je po provedeni ukazaneho kodu shodny s obsahem certifikatu, nebo je obsah emailu necitelna smesice kodu (tedy je email uspesne zasifrovan)? :)
-
no abych řekl pravdu, tak tohle jsem si vůbec neuvědomil a bral to tak, že je to podobná matlanina. Obsah certifikátu to asi opravdu není. Tak teď jsem opravdu mimo. Tak v tom případě už vůbec nevím co s tím, myslel jsem, že pouze podepíšu email bez šifrování.