我的案例:需要每天发送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选项可以通过Gmail邮件服务器过滤垃圾邮件?
请你可以在上面的选项中添加优点+缺点
谢谢
这两个选项都可以被Google过滤为垃圾邮件。 设置谷歌的批量发件人指南。
选项1更易于设置,并且不会收集未传送的消息。
选项2更可靠,并且会收集未传送的消息以及未传送消息的原因。
编辑:无论使用哪个选项,最好使用经过身份validation的连接到Gmail。 (使用您的凭据login。)
我的电子邮件服务规则也可能适用于Google。
在HELO命令中使用以下任何内容的主机始终是垃圾邮件。 (这些规则仅适用于未经身份validation的邮件提交。)
最有可能不发送垃圾邮件的主机满足以下所有条件:
如果你有托pipe域的整个服务器的控制,你可以检查出maillogs。 很多时候,Google会给出很好的反馈,在他们的拒绝中提供一个链接,告诉你为什么被拒绝。
如果您发送了大量的电子邮件,但Google不了解您,并且在您的MTA上没有声誉,那么他们会在收到多封电子邮件后,扼杀您的IP地址。 他们将继续拒绝来自您的邮件服务器的所有电子邮件,直到时间stream逝。
一般来说,使用普通的PHP发送电子邮件应该没有问题。