1

我们公司通过 phpmailer 向我们的客户发送电子邮件,并且某些电子邮件从未发送给某些人......(.gov、.amec 和其他人的电子邮件)

如果我们使用相同的电子邮件地址并在 Outlook 中向他们发送完全相同的电子邮件,他们就会收到它。有谁知道问题是什么?我被告知它可能是标题,但我不熟悉如何解决这个问题。

这是我们的邮件代码:

Note all variables/non-logic has been replaced with {{}} for this example.

    $mail = new PHPMailer();
    $mail->IsMail();
    $mail->SetFrom({{from address}}, {{from name}});
    $mail->AddAddress({{address addition}});
    $mail->WordWrap = 70;
    $mail->IsHTML(true);
    $mail->Subject = {{subject}};
    $mail->Body = {{body}};
    $mail ->AltBody = {{alt body}};
    $mail->MsgHTML({{msg}});
    $mail->Send();
4

2 回答 2

1

更改$mail->IsMail();$mail->IsSendmail();

此外,如果您更改$mail = new PHPMailer();$mail = new PHPMailer(true);,它将引发错误异常。

第三,您不需要$mail->MsgHTML({{msg}});线路 - 只需将所有信息放在$mail->Body = {{body}};.

您的代码应如下所示:

$mail = new PHPMailer(true);
$mail->IsSendmail();
$mail->SetFrom('myEmail@example.com', 'MyFirst MyLast');
$mail->AddAddress('email@example.com', 'First Last');
$mail->WordWrap = 70;
$mail->IsHTML(true);
$mail->Subject = 'Example Subject';
$mail->Body = $body; // can set using ob_start(); and ob_get_contents();
$mail ->AltBody = 'Alt body message';
$mail->Send();
  • 脚注:一些服务器/电子邮件客户端会屏蔽带有某些标头、域等的电子邮件——实际上无法检查所有变量,因为无论如何,在某些时候,有人不会收到您发送的每封电子邮件。MXToolbox 之类的工具可以帮助您解决一些问题。
于 2013-08-08T18:14:09.587 回答
0

您可能想要检查您的邮件服务器日志(phpmailer 用来发送这些消息的邮件服务器的),以查看它们为这些失败的传递尝试显示的内容。日志应该可以说明为什么这些交付不成功。

于 2013-08-08T18:30:28.473 回答