我需要哪些工具来设置一个脚本,每天会向1000个人发送电子邮件?

时间:2010-02-18 20:44:20

标签: email scripting

电子邮件地址存储在数据库中,每天要通过电子邮件发送的人数是可变的。我不确定电子邮件是需要单独发送还是作为群发电子邮件发送。我想知道用什么语言来做这个以及解决方案中所需的任何其他组件。

感谢

5 个答案:

答案 0 :(得分:1)

这是一个C#实现:

System.Net.Mail.MailMessage message = new System.Net.Mail.MailMessage("from@address.com", "to@address.com", "subject", "body");
System.Net.Mail.SmtpClient client = new System.Net.Mail.SmtpClient("host.address.com", 1234);
client.Send(message);

答案 1 :(得分:1)

几乎任何现代语言都可以这个。 Java,C#,VB.NET,PHP,PERL,Python等等。

发送电子邮件是一种常见的要求,大多数语言和框架本身都支持它。

至于每天最多1000封电子邮件的要求 - 这不是很多电子邮件,限制因素将是ISP最有可能施加的限制。

简而言之 - 使用您最熟悉的语言和平台,并了解电子邮件的工作原理。

答案 2 :(得分:1)

正如其他人所提到的,几乎任何现代语言都很容易做到这一点。我是Python的粉丝,它具有出色的脚本功能以及构建应用程序的坚实基础。 Python的库是well documented,包含许多复杂的功能(包括执行多部分MIME编码的功能)。

这是来自示例:

# Import smtplib for the actual sending function
import smtplib

# Import the email modules we'll need
from email.mime.text import MIMEText

# Open a plain text file for reading.  For this example, assume that
# the text file contains only ASCII characters.
fp = open(textfile, 'rb')
# Create a text/plain message
msg = MIMEText(fp.read())
fp.close()

# me == the sender's email address
# you == the recipient's email address
msg['Subject'] = 'The contents of %s' % textfile
msg['From'] = me
msg['To'] = you

# Send the message via our own SMTP server, but don't include the
# envelope header.
s = smtplib.SMTP()
s.sendmail(me, [you], msg.as_string())
s.quit()

答案 3 :(得分:1)

在这种情况下,1000人是一个相当小的数字。我可能不会打扰数据库,我会用我选择的脚本语言(kshLua完成整个事情,在任何一种情况下都输出到sendmail。是一种非常特定于Unix的类型的解决方案。

您可能需要注意的一件事是限制外发电子邮件 - 取决于您的服务提供商,如果您以过高的速率将邮件注入服务器,您的IP地址可能是暂时被列入黑名单。在家里,我告诉postfix不要每秒向Verizon的服务器发送超过1条消息。

如果我必须编写与平台无关的代码,我会使用LuaSocket库直接与SMTP服务器建立TCP连接。它们具有相当有用的设置,可用于构建和发送符合RFC的消息。

答案 4 :(得分:0)

  

我想知道用什么语言来做这个以及解决方案中所需的任何其他组件

您可以使用您认为合适的语言来完成此操作。 .NET内置了一些不错的东西,你可以在不到20行的代码中完成它。