从PHP脚本发送多封电子邮件

时间:2013-03-03 23:11:43

标签: php mysql email mailchimp bulk-email

我有这个问题。我在PHP中做了一个注册公式(带有一个简单的后端/控制面板)。旅行者去一个页面,他们在那里注册(姓名,电话号码,电子邮件等)。然后注册存储在MySQL数据库中。只要控制面板加载,它就会从MySQL数据库中获取所有信息。这是不同国家的不同sportscamps的注册。因此,我正在尝试向注册目的地X'方法的参与者发送电子邮件,然后以某种方式向所有注册目的地X的人发送电子邮件。我考虑过有几种不同的方法可以做到这一点,但无法弄明白,哪种更容易制作或更好。

1)制作'SELECT theEmailAddress FROM tablename WHERE 1',获取所有电子邮件地址。然后为每个人创建一个PHP邮件功能。然后制作一个接触式表格的HTML表单,发送到每封电子邮件。    我只是觉得这个解决方案看起来有点笨拙,或者是什么?

2)我已经创建了一个Mailchimp帐户。我还在考虑使用Mailchimps API(我没有使用它,看起来有点复杂)在控制面板中创建一个按钮,因此为每个目标创建了一个List。然后应该从Mailchimp发送消息。这种方式的巨大好处是,垃圾邮件过滤器不会出现问题(因为Mailchimps电子邮件很少被垃圾邮件过滤器捕获。

3)其他一些巧妙的做法,我还没有想到。我愿意接受任何建议。

谢谢。

3 个答案:

答案 0 :(得分:1)

以下代码将继续发送邮件,直到处理完所有行(符合条件)。

$query = mysql_query("SELECT theEmailAddress FROM tablename WHERE 1");
while ($row = mysql_fetch_assoc($query)) {

  $to      = $row['theEmailAddress'];
  $subject = 'the subject';
  $message = 'hello';
  $headers = 'From: webmaster@example.com' . "\r\n" .
    'X-Mailer: PHP/' . phpversion();

  mail($to, $subject, $message, $headers);
}

然而,大多数邮件服务器阻止了php邮件程序,或将其标记为垃圾邮件。所以我建议查看SMTP邮件程序类。有很多不同的类型,所以你必须自己选择一个。但是,您可以连接到Gmail(或其他SMTP帐户)并通过那里发送您的邮件。它使事情更可靠。

答案 1 :(得分:1)

我建议使用MailChimp制作的Mandrill API,而不是MailChimp API(用于将电子邮件广告系列发送到人员列表)。它是用于发送您所描述的一次性和交易式电子邮件的API。使用Mandrill将具有可靠的可传递性(如您所述),并为您提供有关谁打开和单击您的电子邮件的数据。

在这种情况下,您将拥有类似于@ Neograph734的脚本,但不使用PHP的mail()函数,而是使用Mandrill API。

@ Neograph734也是正确的,你也可以用直接的PHP做到这一点。

答案 2 :(得分:1)

MailChimp API具有您需要的功能。一种方法是为每个国家特别创建Interest Groups。单独使用组将允许您向整个列表发送电子邮件,并按每个用户订阅的组自定义内容。与Segments结合使用,您只能写入兴趣小组的成员。

MailChimp API看起来很复杂,但它正在模拟一个固有的复杂问题。 API经过精心设计,只具备所需的功能。

您也可以通过使用程序生成列表来妥协,然后手动将其导入MailChimp并从Web UI发送电子邮件。这取决于列表的大小以及发送电子邮件的频率。

如果你想要坚如磐石的电子邮件和跟踪,那么MailChimp就是你的选择。只需要一些时间来学习。