配置PHP邮件程序和提示以避免垃圾邮件过滤器

时间:2017-07-18 08:55:07

标签: php email

我正在使用PHP Mailer向我的客户发送发票。有些客户已经解决了我的邮件落入他们的垃圾邮件文件夹的问题(我无法反驳)。我在这里阅读了几篇文章和帖子,并试图根据How do you make sure email you send programmatically is not automatically marked as spam?确定设置的方向。

由于还有很多建议,我不确定,我想检查一下我目前正在部署什么以及实际上有什么意义。

我检查了什么:

  • 我主要使用纯文本,非常少html(只有<p>)而没有css
  • 邮件服务器的IP地址与我的域名地址匹配
  • 我没有列入黑名单(在这里的高投票帖中引用了几个页面)
  • 我总是从我网站的域名发送电子邮件,邮件的任何部分都没有显示其他域名(如回复等)。

我没有检查/我不确定的是什么:

  • 身份验证方法,例如SPF或DKIM。作为一个关于编程电子邮件的非高级用户,我不知道如何设置这些东西 - 是否仍然建议/可以接受操作?
  • 我只使用我的主域发送电子邮件而不是其他电子邮件域。有人建议使用这个额外的电子邮件域名,以防我失去声誉。是否建议为此使用额外的电子邮件域名?
  • 是否可以检查我的邮件是否实际落在垃圾邮件文件夹中,例如使用PHP Mailer还是需要第三方电子邮件服务(如“Mailgun”)?
  • 我并不总是拥有To字段的全名,是否仍然建议将姓氏(没有名字)添加到电子邮件地址?

我的PHP Mailer行(我是否使用推荐的所有内容?):

require_once('../PHPMailer/class.phpmailer.php');
iconv_set_encoding("internal_encoding", "UTF-8");
$mail = new PHPMailer();
$mail->CharSet = 'UTF-8';
$mail->isSMTP();                             
$mail->Host = 'xxx';  
$mail->SMTPAuth = true;                          
$mail->Username = 'xxx';                
$mail->Password = 'xxx';                        
$mail->SMTPSecure = 'tls';                           
$mail->Port = 25;

$mail->setFrom('xxx', 'Potatoe');
$mail->addAddress('xxx', 'AnotherPotatoe');   
$mail->addReplyTo('xxx', 'xxx');
$mail->addCC('xxx');

$mail->addAttachment('/xxx/xxx.pdf');         
$mail->isHTML(true);                              

$mail->Subject = 'xxx';
$mail->Body    = 'xxx';
$mail->AltBody = 'xxx';

1 个答案:

答案 0 :(得分:0)

我强烈建议您添加SPF和DKIM,或使用可以为您执行此操作的第三方邮件服务。

这些机制会对您的邮件进行加密,并证明您拥有邮件服务的域名。它也会阻止任何假装发送邮件的人。