2008-10-02 165 views
2

我需要能够定期向订阅用户发送电子邮件警报。 PHP似乎很难与发送一个消息,所以我正在寻找好的选择。以编程方式发送海量电子邮件

如果执行速度够快,任何语言都会执行。发送邮件的数量最终将达到数千。

如果购买许可软件可以避免,那么更好。

回答

1

在python smtplib是一个轻而易举的设置和一个非常干净的API。

1

我们有各种应用程序写入数据库表中的电子邮件队列,以及.Net Windows服务轮询该表以组成电子邮件并通过我们的邮件服务器发送出去。

我们做每分钟高达1000封电子邮件......

+0

@mark:我发布了一个关于群发邮件的问题。你似乎有这方面的经验。你能看看http://stackoverflow.com/questions/162149/avoid-being-blocked-by-web-mail-companies-for-massbulk-emailing请 – Johannes 2008-10-02 13:07:09

+0

马克:你用什么SMTP服务器来做到这一点? – greg7gkb 2008-10-31 06:21:52

+0

我在ISP(互联网提供商)工作,我们有我们自己的SMTP服务器...... – 2008-11-03 01:47:58

-2

有一个叫BLAT,您可以下载,很轻松地发送电子邮件,基于DOS的命令行工具

1

只是想提一提,在我以前的工作,我们创建一个PHP质量电子邮件使用者的解决方案,工作很大,所以我不明白为什么你会完全排除:)

1

你可以做的一件事是将问题的重点转移到底层的邮件软件。例如,如果我想发送大量电子邮件,我会使用任何语言以BSMTP格式写出它们,基本上看起来像简单的SMTP客户端命令。喜欢的东西:

cat *.bsmtp | exim -bS 

这基本上消除从你的程序在发送邮件的延迟,并将负担进出口(其为MTA:

MAIL FROM:<[email protected]> 
RCPT TO:<yo[email protected]> 
DATA 
From: Me <[email protected]> 
To: You <[email protected]> 
Subject: test email 

This is the body of the test email I'm sending 
. 

然后,我将通过进出口饲料BSMTP文件更好地处理它)。

一旦你掌握了基本知识,就会有很多事情可以修改以提高效率。

MAIL FROM:<[email protected]> 
RCPT TO:<[email protected]> 
RCPT TO:<[email protected]> 
RCPT TO:<[email protected]> 
RCPT TO:<[email protected]> 
DATA 
From: Me <[email protected]> 
To: Me <[email protected]> 
Subject: test email 

This is the body of the test email I'm sending 
. 

也然后让你如何优化吨的回旋余地的:例如,如果你的电子邮件没有定制,你可以把所有收件人到同一个域到同一个文件BSMTP预优化MTA自己发送邮件(例如,它会自动处理并行传送,通过同一个TCP连接向相同的邮件服务器传送电子邮件等)。

关于在代码中这样做,我们曾经在perl库中下了一个功能,帮助我们完成这些工作。本质上你给它的电子邮件和地址,它会根据需要将呼叫转移到邮件服务器。它可以配置多少个并行会话,它还可以监视服务器上的负载,并在负载超过用户可配置的阈值时恢复。

2

Email queueing in php - 简短版本 - Pear's Mail_Queue。我一直在使用它每天发送30-50,000多封邮件或一天以上(每周几天)发送超过一年的问题。

0

我使用一个名为e-Campaign的程序读取CSV文件。如果您必须以编程方式进行编辑,那么您可能需要使用等待技术,因此您不会一次发送10,000封电子邮件。使用电子广告系列,您可以选择一次发送多少封电子邮件,并在这些批次之间放置一段休息时间。它仍然非常快,但不会导致服务器出现过载问题。

相关问题