[英]Help, Registration emails go to spam inbox
我刚开始在我的网站(大型PR6网站,具有良好声誉)上提供用户帐户,我注意到注册电子邮件几乎总是转到收件人的垃圾邮件箱。
到目前为止,我们只发送了几封电子邮件,所以这与我们已经扔出数千封邮件不同。
我通过PHP使用mail()函数发送电子邮件。 在下面,您可以找到我通过mail()函数发送的标头。
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$headers .= 'From: Domain.com <noreply@mydomain.com>' . "\r\n";
有没有办法解决这些垃圾邮件过滤器? 我发送的显然不是垃圾邮件。 注册电子邮件包含3个链接。
有很多事情可以导致电子邮件被标记为垃圾邮件。 解决方案是双重的:一方面,您应该使用一台性能良好的smtp服务器(可传递性),然后正确地编写电子邮件。 (使用mail()的艰巨任务。)
您应该真正使用类似PHPMailer的工具。 这是一个用于发送电子邮件并正确执行的php库,因此电子邮件具有较高的正确到达机会。
http://phpmailer.worxware.com/
电子邮件传递可能会让人头疼,但是我可以推荐http://www.sendgrid.com-您基本上将它们设置为phpmailer的smtp服务器并使用其外发邮件服务器。.他们是电子邮件传递能力方面的专家,您将更轻松的时间。 尤其是当您开始发送成群的电子邮件时。
来自phpmailer网站的电子邮件示例:
<?php
require_once('../class.phpmailer.php');
$mail = new PHPMailer();
$mail->IsSMTP(); // telling the class to use SMTP
$mail->SMTPDebug = 2; // enables SMTP debug information (for testing)
// 1 = errors and messages
// 2 = messages only
$mail->SMTPAuth = true; // enable SMTP authentication
$mail->Host = "smtp.sendgrid.net"; // sets the SMTP server to sendgrid's server
$mail->Port = 25; // set the SMTP port for the GMAIL server
$mail->Username = "emailuser@host.com"; // Sendgrid user
$mail->Password = "yourpassword"; // Sendgrid passw.
$mail->SetFrom('name@yourdomain.com', 'First Last');
$mail->AddReplyTo("name@yourdomain.com","First Last");
$mail->Subject = "PHPMailer Test Subject via smtp, basic with authentication";
$mail->AltBody = "To view the message, please use an HTML compatible email viewer!"; // optional, comment out and test
$mail->MsgHTML($body);
$address = "whoto@otherdomain.com";
$mail->AddAddress($address, "John Doe");
echo !$mail->Send() ? "Mailer Error: " . $mail->ErrorInfo : "Message sent!";
?>
我想说我不以任何方式隶属于Sendgrid。 我只是他们服务的忠实粉丝。 我在Web开发商店中使用mail()函数,smtp服务器,邮件队列和服务工作了很多年,但我不希望这对我最大的敌人不利。 节省一些时间和后顾之忧。
干杯...
您可能已经做到了,但是我要检查的一件事是您的电子邮件中没有关键词,这对垃圾邮件过滤器来说是一个很大的危险信号。 显然,“注册”是必要的,但请避免使用其他经常出现在实际垃圾邮件中的单词。 我敢肯定,垃圾邮件过滤器也会对电子邮件中的链接数量敏感,因此将其从3个减少为一个好主意。
来自以下几个技巧: http : //pauldowman.com/2008/02/17/smtp-mail-from-ec2-web-server-setup/
如果您使用的是第三方SMTP中继(例如authsmtp),则应将spf记录添加到DNS中。
spfwizard.com。
不要欺骗发件人字段
您应该只从somebody@yourdomain.com发送邮件。 例如,如果您尝试从somebody@pauldowman.com发送邮件,则收件人将看到pauldowman.com具有SPF记录,并且未授权您的邮件服务器。 然后进入垃圾邮件文件夹。
要解决此问题,您可以从noreply@yourdomain.com之类的地址发送邮件,并将Reply-To标头设置为somebody@pauldowman.com。 您甚至可以在“发件人”字段中设置名称,例如:“通过您的站点的Paul Dowman”。 Reply-To标头将确保大多数人的答复都发送到正确的地址,但是有少数将不可避免地以noreply@yourdomain.com结尾,因此在该地址处设置自动回复器或至少使确保消息退回,以便用户最终意识到错误。
我第二次使用PHPMailer()。 照顾一堆小东西。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.