PHPMailer,无法发送某些电子邮件
我们公司通过phpmailer向我们的客户发送电子邮件,而某些电子邮件永远不会发送给某些人。。。(用于.gov、.amec和其他网站的电子邮件) 如果我们使用相同的电子邮件地址,并在outlook中向他们发送完全相同的电子邮件,他们收到的邮件就可以了。有人知道问题是什么吗?有人告诉我可能是头球,但我不知道如何解决这个问题 这是我们的邮件代码:PHPMailer,无法发送某些电子邮件,php,email,phpmailer,Php,Email,Phpmailer,我们公司通过phpmailer向我们的客户发送电子邮件,而某些电子邮件永远不会发送给某些人。。。(用于.gov、.amec和其他网站的电子邮件) 如果我们使用相同的电子邮件地址,并在outlook中向他们发送完全相同的电子邮件,他们收到的邮件就可以了。有人知道问题是什么吗?有人告诉我可能是头球,但我不知道如何解决这个问题 这是我们的邮件代码: Note all variables/non-logic has been replaced with {{}} for this example.
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是什么?另外,你能给自己发送一封电子邮件并显示收到的原始邮件头吗?我以前见过邮件服务器不发送到某些地址的情况——你使用的是哪台服务器。您是否能够验证邮件是否可以通过此服务器发送到这些地址?