【问题标题】:Phpmailer use dkimphpmailer 使用 dkim
【发布时间】:2014-09-27 13:47:49
【问题描述】:

大家好,我已经用 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';

用我的工作(只用roundcube而不用phpmailer)txt记录

default._domainkey.quotalo.it

文本

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

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

【问题讨论】:

    标签: phpmailer dkim


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      对于任何试图设置它的人,我刚刚“解决”了 PHPMailer DKIM 问题,它实际上允许 DKIM 签名通过以下步骤“签名:mydomain.com”:

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

        我对公钥做了同样的事情,作为个人备份副本(以防我以后需要检索它)并将其保存为 public.key。 ~再次,这只是一个备份副本。

      2. 添加文件
        获取您刚刚创建的两个文件并将它们添加到您的服务器/站点,例如在 Apache > Conf 文件夹中。

      3. 将 TXT 记录添加到您的域 DNS 设置
        使用公钥,您需要在您的域 DNS 设置中创建一个 TXT 记录。公钥将如下所示:

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


      主机名:1450071.mydomain._domainkey

      值:v=DKIM1;p=EBAQUAA4GNADCBiQKBgQC2uPmYVUJZvxxoYQqyygJMP0jqRKQLJ2QRN1k1HLrNCc13yK7ReDY3KmuZH+pgUNzXpfKHz0PGVLTMUAKpsqAPtkMfll8DSZawrFrny/jQIzEc03gTrEKCwp/k0iaLIDA/w>

      TTL:1小时(3600)


      4. 将以下 DKIM 行添加到 PHPMailer *在 setFrom

      之后
      $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;
      

      最终结果:成功!

      【讨论】:

        猜你喜欢
        • 2012-09-30
        • 1970-01-01
        • 2014-08-19
        • 2017-05-16
        • 2015-02-14
        • 2015-10-13
        • 2014-09-05
        • 2012-02-01
        • 1970-01-01
        相关资源
        最近更新 更多