【发布时间】:2011-01-26 00:05:54
【问题描述】:
我需要按计划发送大量电子邮件(可能每天数百封)。我想这样做的方式如下,但问题是我的 Body 字段可能会变得非常大,如果我将它添加为字符串,它会变得很难看。
SmtpClient client = new SmtpClient(); //host and port picked from web.config
client.EnableSsl = true;
MailMessage message = new MailMessage();
message.Body = "test from winservice"; // HERE IS MY PROBLEM
message.IsBodyHtml = true;
message.From = new MailAddress("donotreply@abcde.com");
message.Subject = "My subject";
message.To.Add(new MailAddress("piniusha@abcde.com"));
try
{
client.Send(message);
}
catch (Exception)
{
}
当我不得不从一个 aspx 页面执行此操作时,我使用了:
MailDefinition message = new MailDefinition();
message.BodyFileName = @"~\EmailTemplate\Template1.htm";
ListDictionary replacements = new ListDictionary();
replacements.Add("<% Name %>", this.txtName.Text);
replacements.Add("<% PhoneOrEmail %>", this.txtPhoneOrEmail.Text);
replacements.Add("<% Message %>", this.txtMessage.Text);
MailMessage msgHtml = message.CreateMailMessage(RECIPIENTS, replacements, new LiteralControl());
我认为这是一个优雅的解决方案,但我不想引用System.Web.UI.WebControls.MailDefinition ,因为我在 Winservice。
- 如何从 Winservice 发送批量电子邮件?
- 是否可以从 Gmail 帐户发送电子邮件?或者他们会在一段时间后阻止我?
【问题讨论】:
-
我相信 GMail 在 24 小时内有 500 个收件人的限制。但是,我不鼓励将 GMail 用于批量电子邮件;它可能违反他们的服务条款。
-
谢谢瑞恩,这是一个更详细地解释它的帖子labnol.org/internet/email/gmail-daily-limit-sending-bulk-email/…所以我想我将不得不停止使用gmail发送电子邮件:(
标签: c# .net email windows-services smtp