【问题标题】:Sending bulk email in PHP在 PHP 中发送批量电子邮件
【发布时间】:2017-07-06 17:39:44
【问题描述】:

我想使用 php 邮件功能在 PHP 中向数百个电子邮件地址发送邮件。 我该怎么做?

【问题讨论】:

    标签: php email


    【解决方案1】:

    你也可以使用SwiftMailer

    也请看类似的帖子here

    【讨论】:

      【解决方案2】:

      你可以试试phplist

      这将是一个更好的选择

      【讨论】:

        【解决方案3】:

        除非您有很多时间,否则我不会尝试编写自己的批量邮件。有很多问题需要解决,包括限制电子邮件、小批量发送电子邮件,因此 AOL 和其他服务提供商不会将您的服务器视为垃圾邮件人。此外,您可能还想包括跟踪打开的电子邮件、跟踪退回的电子邮件、点击的链接等。

        我会考虑一些开源选项,例如 www.phplist.com,这是一个非常好的用于批量发送电子邮件的开源程序。

        或者在商业方面看看 Interspire 电子邮件标记器,它是一款非常出色的产品,物有所值,而且您可以将其托管在自己的服务器上。

        www.interspire.com/emailmarketer/

        【讨论】:

        • 旧帖我知道,但为什么不直接将电子邮件列表添加到密件抄送?
        • @AlxVallejo 因为它会超出您的电子邮件标头限制并导致错误。
        【解决方案4】:

        你必须使用 PHP 吗?如果是这样,我会使用 PHPMailer,我对它有一些经验,并且它并没有让我在批量发送电子邮件方面失败。

        或者,如果您可以访问服务器,请考虑使用 Postfix 或 Sendmail,对于该数量的邮件,它们是更好的选择。

        【讨论】:

          【解决方案5】:

          如果您要发送大量邮件,您不想全部发送@一次,否则您将消耗太多资源。

          这里有一个关于如何使用 PEAR 库的 Mail_Queue 组件的教程:http://pear.php.net/manual/en/package.mail.mail-queue.mail-queue.tutorial.php

          它基本上会在不限制您的服务器的情况下逐步发送您的电子邮件群。

          【讨论】:

            【解决方案6】:

            使用 PHPMailer 库,它有很多功能。将电子邮件地址存储为数组并使用 for 循环将每个电子邮件地址作为字符串添加到 mail->AddAddress 字段。它将负责发送批量邮件。我只用它一次将批量邮件发送到 6/7 个地址。它也应该适用于数百个地址。

            【讨论】:

              【解决方案7】:

              您可以使用 swiftmailer。通过使用批处理。

              <?php
                  $message = Swift_Message::newInstance()
                    ->setSubject('Let\'s get together today.')
                    ->setFrom(array('myfrom@domain.com' => 'From Me'))
                    ->setBody('Here is the message itself')
                    ->addPart('<b>Test message being sent!!</b>', 'text/html')
                  ;
              
                  $data = mysql_query('SELECT first, last, email FROM users WHERE is_active=1') or die(mysql_error());
                  while($row = mysql_fetch_assoc($data))
                  {
                     $message->addTo($row['email'], $row['first'] . ' ' . $row['last']);
                  }
              
                  $message->batchSend();
              ?>
              

              【讨论】:

                猜你喜欢
                • 1970-01-01
                • 2021-03-22
                • 2016-12-12
                • 2014-08-19
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 2016-04-11
                • 1970-01-01
                相关资源
                最近更新 更多