Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHPMailer,无法发送某些电子邮件_Php_Email_Phpmailer - Fatal编程技术网

PHPMailer,无法发送某些电子邮件

PHPMailer,无法发送某些电子邮件,php,email,phpmailer,Php,Email,Phpmailer,我们公司通过phpmailer向我们的客户发送电子邮件,而某些电子邮件永远不会发送给某些人。。。(用于.gov、.amec和其他网站的电子邮件) 如果我们使用相同的电子邮件地址,并在outlook中向他们发送完全相同的电子邮件,他们收到的邮件就可以了。有人知道问题是什么吗?有人告诉我可能是头球,但我不知道如何解决这个问题 这是我们的邮件代码: Note all variables/non-logic has been replaced with {{}} for this example.

我们公司通过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();
更改
$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();
  • 脚注:一些服务器/电子邮件客户端会屏蔽带有特定标题、域等的电子邮件-实际上没有办法检查所有变量,因为不管怎样,总有一天会有人收到你发送的所有电子邮件。像这样的工具可以帮助您解决一些问题
    • 更改
      $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();
      
      • 脚注:一些服务器/电子邮件客户端会屏蔽带有特定标题、域等的电子邮件-实际上没有办法检查所有变量,因为不管怎样,总有一天会有人收到你发送的所有电子邮件。像这样的工具可以帮助您解决一些问题

      您可能希望检查邮件服务器日志(phpmailer用于发送这些邮件的邮件服务器的日志),以查看这些失败的传递尝试所显示的内容。日志应该可以解释这些传递失败的原因。

      您可能需要检查邮件服务器日志(phpmailer用于发送这些邮件的邮件服务器的日志),以查看这些失败的传递尝试所显示的内容。日志应该可以解释这些交付失败的原因。

      您在服务器上使用的MTA是什么?另外,你能给自己发送一封电子邮件并显示收到的原始邮件头吗?我以前见过邮件服务器不发送到某些地址的情况——你使用的是哪台服务器。您是否能够验证邮件是否可以通过此服务器发送到这些地址?您在服务器上使用的MTA是什么?另外,你能给自己发送一封电子邮件并显示收到的原始邮件头吗?我以前见过邮件服务器不发送到某些地址的情况——你使用的是哪台服务器。您是否能够验证邮件是否可以通过此服务器发送到这些地址?