PHPmailer发送垃圾邮件

hoo*_*gan 3 php phpmailer

我刚刚更新了一个联系表单,使用PHPMailer来阻止电子邮件被标记为垃圾邮件,没有运气.

这是一个我正在使用的相当简单的设置,但它仍然会进入人们的垃圾邮件.

这是我的剧本,我想知道是否有人能说出错了什么?

include_once('../inc/phpmailer/class.phpmailer.php');

$mail = new PHPMailer();

$name = $_POST['name'];
$email = $_POST['email'];
$body = "Name: ".$name."\r\n";
$body .= "Email: ".$email."\r\n";
$body .= "Message: ".$_POST['message'];

$mail->From       = "mailer@blah.com";
$mail->FromName   = "Contact BLah";

$mail->Subject    = "Contact From: Blah";

$mail->Body = $body;

$mail->AddAddress("john@blah.com", "john");
$mail->AddAddress("david@blah.com", "david");

if(!$mail->Send()) {
  $errorMsg .= "Error sending message, please try again later.";
} else {
  $errorMsg .= "Message Sent successfully.";
}
Run Code Online (Sandbox Code Playgroud)

我认为PHPmailer通常会负责插入正确的标头?

有什么想法吗?

编辑:添加垃圾邮件分数

-Spam-Status:"得分= 0.0测试=无版本= 3.1.7 cmae = v = 1.0 c = 1 a = 8nJEP1OIZ-IA:10 a = soyWjZv28gkhNSke5wm04A ==:17 a = fqdOs_Nl9wd82e3SDigA:9 a = l-lynuxnH- gfU2bevBoA:7 a = wPNLvfGTeEIA:10 a = nymK5Bb5l1cA:10 a = _6wjLm_vFSYA:10 xcat =未定义/未定义"X-Spam-Level:*

编辑2:我刚刚在客户端的不同服务器上尝试了脚本,结果相同.我是否必须通过SMTP设置发送它才能被归类为垃圾邮件?

Mar*_*c B 13

您的邮件可能被标记为垃圾邮件的原因:

  1. 你发送了垃圾邮件
  2. 您的IP或IP周围的IP块已在一个或多个黑洞列表中标记为垃圾邮件源
  3. 电子邮件的内容正在触发垃圾邮件过滤器.
  4. 收件人已将您添加到他们的黑名单中
  5. 收件人未将您添加到白名单中
  6. 您正在发送混合源邮件("From:xyz@example.com",但是从"someotherdomain.net"发送)
  7. 您的服务器的SPF记录配置错误/根本没有配置
  8. 域密钥配置错误/根本没有配置

等等...

PHPMailer是一个工具.把它当作一把锤子.锤子可能弯曲钉子,但仅仅是因为持有者没有向右瞄准.

解决此问题的唯一方法是检查退回邮件(如果有)以及收件人邮箱中显示的内容.如果他们收到邮件,但它进入垃圾邮件文件夹,则获取邮件副本并检查其标题.大多数垃圾邮件过滤器会将垃圾邮件分数/推理放在那里.


mar*_*ark 7

小提示:

像这样添加一行

 $mail->AddReplyTo( 'mailer@blah.com', 'Contact BLah' );
Run Code Online (Sandbox Code Playgroud)

它应该会显着降低您的垃圾邮件评级.