1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > php 邮件服务器 群发 发送使用PHP群发电子邮件发送使用PHP群发电子邮件(Sending mass email usin...

php 邮件服务器 群发 发送使用PHP群发电子邮件发送使用PHP群发电子邮件(Sending mass email usin...

时间:2024-01-08 05:24:23

相关推荐

php 邮件服务器 群发 发送使用PHP群发电子邮件发送使用PHP群发电子邮件(Sending mass email usin...

我目前正在写一个音乐博客。 管理员发布一个新的文章每2-3天。 一旦管理员岗位的文章,群发电子邮件将被立即发送到5000左右的用户。

什么是实现群发邮件功能的最佳方法是什么?

请问下面的函数工作?

function massmail()

{

$content = '...';

foreach ($recipients as $r) {

$_content = $content . '';

mail($r, 'subject', $_content);

}

}

另一个问题是:如果所有用户5000使用雅虎邮件,雅虎将会把它当作一个DDOS攻击,并阻止我的SMTP服务器的IP地址?

Answer 1:

首先,使用随PHP的mail()函数是不是最佳解决方案。 这是很容易被标记为垃圾邮件,你需要设置标题,以确保您正确发送HTML格式的电子邮件。 至于是否会将代码段的工作,它会,但我怀疑你会得到里面的HTML代码不正确指定额外的头

我建议你看一看SwiftMailer ,其中有HTML的支持,针对不同的MIME类型和SMTP认证(这是不太可能的标记为垃圾邮件)的支持。

Answer 2:

我会插入所有邮件到一个数据库(有点像队列),然后处理它们一次一个,你在你的代码做了(如果你想使用swiftmailer或PHPMailer的等等,你可以做到这一点。)

每封邮件发送后,更新数据库,记录日期/时间被发送。

通过将在数据库中你首先得

你把它发给谁的纪录

如果你的脚本超时或失败,你必须重新运行它,那么你就不会结束发送相同的电子邮件到的人的两倍

你可以从一个cron作业运行发送过程,并在同一时间做一个批处理,让您的邮件服务器不不堪重负,并跟踪哪些已发送

请记住,如何自动退回邮件或无效的电子邮件,使他们能够自动从你的列表中删除。

如果您要发送多封电子邮件,你一定会得到一些反弹。

Answer 3:

这是建议,不是一个答案:你是非常非常最好使用专用的邮件列表软件。 邮递员是一个经常被使用的例子,但作为简单的东西mlmmj可能就足够了。 发送邮件质量实际上比它实际上似乎是一个更艰巨的任务。 你不仅需要发送邮件,你还必须跟踪的“死”的地址,以避免您的邮件,或者更糟,你的邮件服务器,被标记为垃圾邮件。 你必须处理人退订出于同样的原因。

您可以自己实现这些东西,但特别是反弹操作困难和吃力不讨好的工作。 使用邮件列表管理起来会方便很多。

至于如何让你的邮件可口的雅虎,那完全是另一回事。 尽管有种种缺点,它们好像把伟大的股票在SPF和域关键字。 你可能会实现它们,这将需要从你的邮件服务器管理员合作。

Answer 4:

您可以考虑使用cron的那种操作。 一次发送邮件群发肯定是不好的,它可能被检测为垃圾邮件,DDOS,崩溃的服务器等。

所以科雷可能是一个很好的解决方案,一次发送邮件100,然后等待几分钟,接下来的100等

Answer 5:

不要发送电子邮件使用标准的PHP工具5000余人。 您可以通过大多数ISP在几秒钟内得到禁止和永远不会知道它。 您应该使用一些邮件列表软件或电子邮件服务提供商做到了这一点。

Answer 6:

你为什么不喜欢使用phplist ? 它也建立在PHP梅勒的顶部和大量的行业领导者都在使用它。 我已经用它自己几次批量邮件发送给我的客户。 关于phplist的好处是,你可以在域级别加上一个期限级节流您的邮件。

我们也已经与一对夫妇,我们已经有了内部采集系统做的是我们的用户群推到mailling列表,然后有一个cron项每天触发一个给定的邮件。 可能性是无穷的,这是开源的东西真棒!

Answer 7:

另外,梨包:

/package/Mail_Mime /package/Mail /package/Mail_Queue

下。

PS:不要使用电子邮件()发送的邮件5000。 除了其他人都表示,这是非常低效的,因为邮件()创建每个电子邮件设置单独的插座,即使是同一个MTA。

Answer 8:

也有看的PHPMailer类。 PHPMailer的

Answer 9:

我已经做到了用Lotus Notus和PHP 。 如果你有机会到邮件服务器,也可以要求一些东西到这种解决方案mail server管理员:

1)创建的一组mail server :“销售部”。

2)分配给该group你需要该组中的帐户。

3)分配一个因特网地址的组:salesdept@。

4)在使用邮件功能创建你的PHP脚本:

$到= “salesdept@”;

邮件($到,$主题,$消息,$头);

它的工作对我来说,所有包括在该组中的帐户接收邮件。

最好的卢克斯的。

Answer 10:

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

$message = Swift_Message::newInstance()

->setSubject('Let\'s get together today.')

->setFrom(array('myfrom@' => 'From Me'))

->setBody('Here is the message itself')

->addPart('Test message being sent!!', '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();

?>

Answer 11:

自己何苦编程? 这是一个博客,只是使用谷歌Feedburner的其中通过电子邮件自动更新推给用户。

它是免费的 ,它使用谷歌的基础设施 。 不能得到任何比这更好的。 我用它为我的一些网站/博客和它奇妙的作品。

不足之处是它似乎并没有得到大力发展,而不是支持任何更多。 我建议你皱眉客场以商业电子邮件列表,如果你是认真对待您的业务。

文章来源: Sending mass email using PHP

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。