什么时候应该select简单的PHP邮件,当用login+密码smpt?

我的案例:需要每天发送1000条消息到主Gmail账户的Web应用程序。

(只需要发邮件,不需要收邮件 – 邮件客户端)

1.选项 – 使用PHP邮件function+ sendmail +configurationphp.ini

php例子:

<?php $to = '[email protected]'; $subject = 'the subject'; $message = 'hello'; $headers = 'From: [email protected]' . "\r\n" . 'Reply-To: [email protected]' . "\r\n" . 'X-Mailer: PHP/' . phpversion(); mail($to, $subject, $message, $headers); ?> 

php.ini config(ubuntu):

 sendmail_path = /usr/sbin/sendmail -t -i 

优点 :不需要电子邮件帐户,易于设置

缺点 :?


2.选项 – 使用Zend_Mail +传输smpt +密码自动执行php例子(需要包含Zend_Mail类):

 $config = array('auth' => 'login', 'username' => 'myusername', 'password' => 'password'); $transport = new Zend_Mail_Transport_Smtp('mail.server.com', $config); $mail = new Zend_Mail(); $mail->setBodyText('This is the text of the mail.'); $mail->setFrom('[email protected]', 'Some Sender'); $mail->addTo('[email protected]', 'Some Recipient'); $mail->setSubject('TestSubject'); $mail->send($transport); 

优点 :?

缺点 :?

问题:

  1. 1选项可以通过Gmail邮件服务器过滤垃圾邮件?

  2. 请你可以在上面的选项中添加优点+缺点

谢谢

这两个选项都可以被Google过滤为垃圾邮件。 设置谷歌的批量发件人指南。

选项1更易于设置,并且不会收集未传送的消息。

选项2更可靠,并且会收集未传送的消息以及未传送消息的原因。

编辑:无论使用哪个选项,最好使用经过身份validation的连接到Gmail。 (使用您的凭据login。)

我的电子邮件服务规则也可能适用于Google。

在HELO命令中使用以下任何内容的主机始终是垃圾邮件。 (这些规则仅适用于未经身份validation的邮件提交。)

  • 一个不合格的主机名(例子)。
  • 我的域名或IP地址。
  • 任何其他IP地址(192.0.2.10)。
  • 域文字([192.0.2.10])。
  • 存在一个SPFlogging,禁止使用IP地址发送电子邮件:Helo命令中的域; 或PTRlogging为IP地址返回的域。

最有可能不发送垃圾邮件的主机满足以下所有条件:

  • rDNSconfiguration为PTR(192.0.2.10) – > A(mail.example.com) – > PTR(192.0.2.10)。
  • 在Helo命令(mail.example.com)中使用它们的FQDN(完全限定的域名)。
  • FQDN不是二级域名(example.com)。
  • FQDN有一个允许其用作主机的SPFlogging('v = spf1 a -all')。

如果你有托pipe域的整个服务器的控制,你可以检查出maillogs。 很多时候,Google会给出很好的反馈,在他们的拒绝中提供一个链接,告诉你为什么被拒绝。

如果您发送了大量的电子邮件,但Google不了解您,并且在您的MTA上没有声誉,那么他们会在收到多封电子邮件后,扼杀您的IP地址。 他们将继续拒绝来自您的邮件服务器的所有电子邮件,直到时间stream逝。

一般来说,使用普通的PHP发送电子邮件应该没有问题。