Phpmailer使用dkim

时间:2014-08-05 00:45:17

标签: phpmailer dkim

大家好我已经用postfix和dkim milter配置我的centos 6.5(plesk),如果我在我的情况下从webmail发送邮件roundcube dkim pass但是如果我尝试用phpmailer发送一些电子邮件,则最后版本失败。 我在那里阅读http://dkim.worxware.com/没有必要做另外的操作但是无论如何都没有工作所以我尝试使用页面底部的工具来创建私钥和公钥并设置另一个txt记录 我已经尝试添加这样的参数:

$mail->DKIM_domain = 'dominio.it';
$mail->DKIM_private = 'class/.htkeyprivate';
$mail->DKIM_selector = 'phpmailer';
$mail->DKIM_passphrase = '1407195281';

在dns中的txt记录也是正确的,我也尝试使用像dkim milter这样的现有和工作密钥....

$mail->DKIM_domain = 'dominio.it';
$mail->DKIM_private = 'class/default.private';
$mail->DKIM_selector = 'default';

我的工作(仅使用圆形立方体而非phpmailer)txt记录

default._domainkey.quotalo.it

TXT

" V = DKIM1;克= *; K = RSA; P = MIGfMA0GCSqGSIb3DQEBAQ UAA4GNADCBiQKBgQCz2F9VF2 D2jFtlKPbjufdTBpF + 2Qraw8Tr20 dSkHcP7DGb0rMjZYeeK7ysmj2R Go75 / HnPga2Xbjy87Hg / xIDMQIc Ep8cN9WsOkUe7Rzx / jIhdwnV5u alHwlx0hJQ16LwgGv1Xtt1iw + X7 + sDwRlZ Tq2tyq0cXYz34RvAy22 GRiwIDAQAB"

但问题是一样的....请帮助我,我已经尝试了一整天: - (

2 个答案:

答案 0 :(得分:3)

我已经通过添加解决了 $mail->Encoding = "base64"; 到phpmailer数组。

答案 1 :(得分:3)

对于任何试图进行此设置的人,我刚刚“解决”了PHPMailer DKIM问题,这实际上允许DKIM签名通过以下步骤“签署:mydomain.com”:< / p>

  1. 创建密钥
    我使用http://dkimcore.org/tools/来创建必要的密钥。获取原始私钥并粘贴从--BEGIN到END--的所有内容,并将其保存到名为 private.key 的.txt文件中(不带* .txt)。

    我使用公钥做了同样的事情,个人备份副本(如果我需要稍后检索)并将其保存为 public.key 。 〜这只是备份副本
  2. 添加文件
    获取刚刚创建的两个文件,并将它们添加到您的服务器/站点,例如在Apache&gt;中。 Conf文件夹。

  3. 将TXT记录添加到域DNS设置
    使用公钥,您需要在域DNS设置中创建TXT记录。公钥看起来像这样:
  4.   

    1450071.mydomain._domainkey.mydomain.com:v=DKIM1;p=EBAQUAA4GNADCBiQKBgQC2uPmYVUJZvxxoYQqyygJMP0jqRKQLJ2QRN1k1HLrNCc13yK7ReDY3KmuZH+pgUNzXpfKHz0PGVLTMUAKpsqAPtkMfll8DSZawrFrny/jQIzEc03gTrEKCwp/k0iaL/Pwcha7pZEiN+wIDA


    主机名: 1450071.mydomain._domainkey

    值:<强> V = DKIM1; P = EBAQUAA4GNADCBiQKBgQC2uPmYVUJZvxxoYQqyygJMP0jqRKQLJ2QRN1k1HLrNCc13yK7ReDY3KmuZH + pgUNzXpfKHz0PGVLTMUAKpsqAPtkMfll8DSZawrFrny / jQIzEc03gTrEKCwp / k0iaL / Pwcha7pZEiN + Wida酒店

    TTL:1小时(3600)


     4.在setFrom

    之后将以下DKIM行添加到PHPMailer *
    $mail->setFrom($from, $from_name);
    

    ...

    $mail->DKIM_domain = 'mydomain.com';
    $mail->DKIM_private = 'path/to/your/private.key>';
    $mail->DKIM_selector = '1450071.mydomain'; //Prefix for the DKIM selector
    $mail->DKIM_passphrase = ''; //leave blank if no Passphrase
    $mail->DKIM_identity = $mail->From;
    

    最终结果:成功!