3

open-dkimとphpmailerを使用して送信メールに署名し、キーをインストールして有効として表示し、メールスクリプトは機能していますが、プロセスを保留しているopenSSLエラーが1つ発生します。

Warning: openssl_sign() [function.openssl-sign]: supplied key param cannot be coerced into a private key in /usr/share/php/class.phpmailer.php on line 2221

opensslについては何も知りませんが、最初に考えたのは、このドメインにはSSLがインストールされていないため、DKIMではSSLが必要なのかもしれません。もしそうなら、それはいつものように新しいSSLをインストールするのと同じくらい簡単ですか、それともどういうわけか公開/秘密鍵をSSLに関連付ける必要がありますか?

ありがとう

必要に応じて完全なスクリプト:

<?

require_once("class.phpmailer.php");
$mailer = new PHPMailer();


$mailer->IsSMTP();
$mailer->Host = 'mail.domain.com';
$mailer->SMTPAuth = true;

$mailer->Username = 'info@domain.com';
$mailer->Password = 'pass';
$mailer->FromName = 'info@domain.com';
$mailer->From = 'info@domain.com';
$mailer->AddAddress('test@gmail.com','first last');
$mailer->Subject = 'Testing DKIM';

$mailer->DKIM_domain = 'domain.com';
$mailer->DKIM_private = 'private.txt';
$mailer->DKIM_selector = 'default'; //this effects what you put in your DNS record
$mailer->DKIM_passphrase = '';


$mailer->Body = 'this is just an email test';

if(!$mailer->Send())
{
echo "Message was not sent";
echo "Mailer Error: " . $mailer->ErrorInfo;
exit;
} else {
echo "Message Sent!";   
}

?>
4

1 に答える 1

2

答えは 2 つの部分でした。

1) いいえ、DKIM を使用するために従来の SSL をインストールする必要はないようです。

2) 私のエラーは、余分な文字を追加した RTF ドキュメントから秘密鍵をコピーしたことが原因でした。それを Dreamweaver にコピーし、余分な文字を取り除いたところ、サーバーから署名メールを受信して​​います。

于 2013-03-08T14:35:14.013 に答える