【问题标题】:How to send mails to multiple reciepients from web application?如何从 Web 应用程序向多个收件人发送邮件?
【发布时间】:2014-02-27 15:33:52
【问题描述】:

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

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

【问题讨论】:

标签: c# asp.net email


【解决方案1】:

System.Net.Mail中的ToMailAddressCollection,所以你可以添加你需要的地址。

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

【讨论】:

    【解决方案2】:

    Chris's 答案是正确的,但您可能还需要考虑使用邮件服务。以下是您可以尝试的一些方法 - 它们都有一个免费套餐可供您开始使用。

    【讨论】:

    • 我支持这个建议。在我整合到应用程序中的第一个邮件系统中,我使用了本地 SMTP 服务器。这导致了一些可传递性问题,主要是误报垃圾邮件标记。让其他服务来完成这项工作,您只需将电子邮件地址和内容发送给他们。 Amazon SES 是一个非常便宜的选择,它或多或少的功能类似于 3rd 方 SMTP 服务器,因此几乎不需要完成任何集成工作......快速而简单。
    • @Gadget27 - 谢谢,我添加了指向 Amazon SES 的链接
    【解决方案3】:

    您可以轻松地向多个收件人发送电子邮件。下面是一个使用 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 上查看 SmtpClient.Send 方法,以确保您捕捉到任何相关的异常。

    【讨论】:

      猜你喜欢
      • 2017-04-17
      • 1970-01-01
      • 2020-09-15
      • 1970-01-01
      • 2019-03-01
      • 2015-12-18
      • 2012-01-12
      • 1970-01-01
      • 2012-05-18
      相关资源
      最近更新 更多