2017-06-28 8 views
1

私はエリックVynckeのPHP dkim scriptを経て、彼はとてもとして使用される電子メールdkim用にPHPで本文とヘッダを正しくハッシュする方法は?

$DKIM_bh = base64_encode(pack('H*', sha1($body))); 

に設定DKIMヘッダーのハッシュをやっていた方法をコピーした:

'bh='.$DKIM_bh.';'//... 

しかし、私はそれが伝えvalidate the email messageとき私はハッシュが一致しないことを私に知らせる。

$headers .= 'DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/simple; q=dns/txt; bh=';//... 

$body = 'Test PHP+SMTP authenticated email,3.'; 

bh='.base64_encode(pack('H*', sha1($body))).';';//... 

私には何が欠けているのですか? どうすれば正しくヘッダーのDKIM値を設定できるように、本文とヘッダーを適切にハッシュするのですか? Gmail.comと添付ファイルと混合/マルチパートメッセージの

https://github.com/breakermind/PHP-DKIM

作品:ここ

答えて

0

はDKIMとPHPのメール()関数でメールを送信する方法の例の機能です!

<?php 
// Send simple email without DKIM SIgning 
// YOUR E-MAIL 
$name = 'Name Jony'; 
$sender = '[email protected]'; 
$to = '[email protected]'; 
$subject = 'Simple html message with dkim'; 

$headers = 
'MIME-Version: 1.0 
From: "'.$name.'" <'.$sender.'> 
Content-type: text/html; charset=utf8'; 

$message = 
'<html> 
    <header></header> 
    <body> 
     Hello, this a DKIM test e-mail 
    </body> 
</html>'; 

// NOW YOU WILL DO (after setting up the config file and your DNS records) : 
// Make sure linefeeds are in CRLF format - it is essential for signing 
$message = preg_replace('/(?<!\r)\n/', "\r\n", $message); 
$headers = preg_replace('/(?<!\r)\n/', "\r\n", $headers); 

require_once 'mail-signature.class.php'; 
require_once 'mail-signature.config.php'; 

$signature = new mail_signature(
    MAIL_RSA_PRIV, 
    MAIL_RSA_PASSPHRASE, 
    MAIL_DOMAIN, 
    MAIL_SELECTOR 
); 
$signed_headers = $signature -> get_signed_headers($to, $subject, $message, $headers); 

// Send email 
ini_set('sendmail_from', $sender); 
echo mail($to, $subject, $message, $signed_headers.$headers); 
die(); 
+0

あなたが見つけることができるあらゆる場所にあなたの例を投稿しないでください。 [個人用オープンソースライブラリの提供方法](// meta.stackexchange.com/q/229085)をお読みください。 –

関連する問題