0

我需要向我的 5000 名订阅者发送电子邮件。做这个的最好方式是什么 ?

1)通过使用密件抄送?:

  $from_addr = 'myemail@example.com';
  $mailing_list = 'sub1@example.com', 'sub2@example.com', 'sub3@example.com0;
  $message_subject = 'this is a test';

 `$headers = array ("From" => $from_addr,
                    "Bcc" => $mailing_list,
                    "Subject" => $message_subject);

  $smtp = Mail::factory("smtp", array ('host' => "smtp.example.com",
                                       'auth' => true,
                                       'username' => "xxx",
                                       'password' => "xxx"));

  $mail = $smtp->send($email, $headers, $message_body);`

.

2) 通过使用 PEAR 邮件队列?

4

2 回答 2

2

我还没有使用 PEAR mail_queue,但是使用队列绝对是正确的方法!不应使用密件抄送,因为您的邮件很容易被 gmail/hotmail 等大型电子邮件提供商标记为垃圾邮件。在电子邮件标题中还有数千个地址似乎很疯狂。甚至可能有一个限制。此外,一些邮件服务器可能会因为标题过大而拒绝您的邮件。最重要的是,应该发送您的电子邮件的邮件服务器不会对此感到高兴。

于 2010-05-29T22:53:40.443 回答
1

首先,使用内置mail函数并不是最好的方法。我建议您选择支持 HTML、支持不同的 mime 类型和 SMTP 身份验证的SwiftMailer ,它不太可能将您的邮件标记为垃圾邮件。

此外,您可以查看此梨包:

http://pear.php.net/package/Mail_Queue

于 2010-05-29T09:06:17.593 回答