2014-02-27 124 views
0

我已经开发了一个asp.net Mvc 4项目,现在我打算在我的应用程序中集成一个邮件系统。最初,我教会了如何将邮件系统集成到我现有的Web应用程序中,但后来我将它移动到使用Scheduler的控制台应用程序在某个时间间隔发送邮件。如何从Web应用程序发送邮件给多个reciepients?

我的场景就像我有一个邮件ID列表,我需要发送邮件到所有这些邮件ID。我检查了System.Web.Mail,我发现我一次只能给一个电子邮件地址。是否有可能在System.Web.Mail或有任何其他库可用于实现我的方案。

+0

可能重复的[无法发送电子邮件到多个地址/收件人使用C#](http://stackoverflow.com/questions/3209129/unable-to-send-an-email-to-multiple-addresses-recipients -using-c-sharp) – abatishchev

回答

4

To in System.Net.MailMailAddressCollection,所以你可以添加多少地址你需要。

MailMessage msg = new MailMessage(); 
msg.To.Add(...); 
msg.To.Add(...); 
0

Chris's答案是正确的,但您可能还想考虑使用邮件服务。这里有一些你可以尝试 - 他们都有一个免费的层开始。

+0

我第二个这个建议。在我组合到应用程序中的第一个邮件系统中,我使用了本地SMTP服务器。这导致了一些产能问题,主要是假阳性垃圾邮件标记。让其他服务人员完成这项工作,您只需向他们发送电子邮件地址和内容即可。亚马逊SES是一个便宜的选项,或多或少的功能就像第三方SMTP服务器一样,所以几乎没有整合工作要做......快速简单。 – Gadget27

+0

@ Gadget27 - 谢谢,我添加了一个链接到Amazon SES –

0

您可以轻松地发送电子邮件,以超过一个收件人。下面是一个使用SMTP服务器发送电子邮件到多个addreses样本:

//using System.Net.Mail; 

public void SendEmail(){ 

    MailMessage email = new MailMessage(); 

    email.To.Add("[email protected]"); 
    email.To.Add("[email protected]"); 
    email.To.Add("[email protected]"); 

    email.From = new MailAddress("[email protected]"); 

    string smtpHost = "your.SMTP.host"; 
    int smtpPort = 25; 

    using(SmtpClient mailClient = new SmtpClient(smtpHost, smtpPort)){ 
     mailClient.Send(email); 
    } 
} 

只是注意:如果你使用SMTP去,你应该看看也MSDN上的SmtpClient.Send方法,只是确保你正在捕捉任何相关的例外。

相关问题