C# 如何从web应用程序向多个收件人发送邮件?

C# 如何从web应用程序向多个收件人发送邮件?,c#,asp.net,email,C#,Asp.net,Email,我已经开发了一个asp.net Mvc 4项目,现在我计划在我的应用程序中集成一个邮件系统。最初我喜欢在现有的web应用程序中集成邮件系统,但后来我将其移动到一个控制台应用程序中,使用调度程序在某个时间间隔发送邮件 我的场景就像我有一个邮件ID列表,我需要向所有这些邮件ID发送邮件。我检查了System.Web.Mail,发现一次只能提供一个电子邮件地址。是否可以在System.Web.Mail中使用,或者是否有任何其他库可用于实现我的方案。System.Net中的到。Mail是一个MailAd

我已经开发了一个asp.net Mvc 4项目,现在我计划在我的应用程序中集成一个邮件系统。最初我喜欢在现有的web应用程序中集成邮件系统,但后来我将其移动到一个控制台应用程序中,使用调度程序在某个时间间隔发送邮件


我的场景就像我有一个邮件ID列表,我需要向所有这些邮件ID发送邮件。我检查了System.Web.Mail,发现一次只能提供一个电子邮件地址。是否可以在System.Web.Mail中使用,或者是否有任何其他库可用于实现我的方案。
System.Net中的
。Mail
是一个
MailAddressCollection
,因此您可以添加所需的地址数

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

System.Net.Mail
中的
To
是一个
MailAddressCollection
,因此您可以添加所需的地址数量

MailMessage msg = new MailMessage();
msg.To.Add(...);
msg.To.Add(...);
答案是正确的,但你可能也想考虑使用邮件服务。这里有一些你可以尝试的,它们都有一个免费的层开始

  • 回答是正确的,但你可能也想考虑使用邮件服务。这里有一些你可以尝试的,它们都有一个免费的层开始


    您可以轻松地向多个收件人发送电子邮件。以下是使用SMTP服务器向多个地址发送电子邮件的示例:

    //using System.Net.Mail;
    
    public void SendEmail(){
    
        MailMessage email = new MailMessage();
    
        email.To.Add("first@email.com");
        email.To.Add("second@email.com");
        email.To.Add("third@email.com");
    
        email.From = new MailAddress("me@email.com");
    
        string smtpHost = "your.SMTP.host";
        int smtpPort = 25;
    
        using(SmtpClient mailClient = new SmtpClient(smtpHost, smtpPort)){
            mailClient.Send(email);
        }
    }
    

    请注意:如果使用SMTP,您可能还应该在MSDN上查看该方法,以确保捕获到任何相关异常。

    您可以轻松地向多个收件人发送电子邮件。以下是使用SMTP服务器向多个地址发送电子邮件的示例:

    //using System.Net.Mail;
    
    public void SendEmail(){
    
        MailMessage email = new MailMessage();
    
        email.To.Add("first@email.com");
        email.To.Add("second@email.com");
        email.To.Add("third@email.com");
    
        email.From = new MailAddress("me@email.com");
    
        string smtpHost = "your.SMTP.host";
        int smtpPort = 25;
    
        using(SmtpClient mailClient = new SmtpClient(smtpHost, smtpPort)){
            mailClient.Send(email);
        }
    }
    

    请注意:如果您使用SMTP,您可能还应该在MSDN上查看该方法,以确保捕获到任何相关的异常。

    我支持此建议的可能重复。在我第一次集成到应用程序中的邮件系统中,我使用了本地SMTP服务器。这导致了一些可交付性问题,主要是误报垃圾邮件标记。让其他服务来完成这项工作,你只需向他们发送电子邮件地址和内容。AmazonSES是一个极其便宜的选项,它的功能或多或少类似于第三方SMTP服务器,因此几乎没有集成工作要做。。。快速简单。@Gadget27-谢谢,我已经添加了一个链接,指向Amazon SESI second这个建议。在我第一次集成到应用程序中的邮件系统中,我使用了本地SMTP服务器。这导致了一些可交付性问题,主要是误报垃圾邮件标记。让其他服务来完成这项工作,你只需向他们发送电子邮件地址和内容。AmazonSES是一个极其便宜的选项,它的功能或多或少类似于第三方SMTP服务器,因此几乎没有集成工作要做。。。快速简单。@Gadget27-谢谢,我添加了一个到Amazon SES的链接