【问题标题】:WebMail.Send() throws FormatExceptionWebMail.Send() 抛出 FormatException
【发布时间】:2011-08-11 10:32:06
【问题描述】:

我正在尝试WebMail.Send() 将邮件发送到多个电子邮件 ID。 MSDN library page 明确指定多个电子邮件 ID 应以分号 (;) 分隔。但是,当我尝试将邮件发送到多个 id 时,我收到 FormatException 并显示消息 “在邮件标题中发现了一个无效字符:';'。但是,如果我将邮件发送给单个收件人,则邮件会正确传递。

那么,如何使用WebMail.Send() 向多个收件人发送邮件?也许我遗漏了一些非常明显的东西。

编辑: 这是我正在使用的代码。

string [] selectedUserIds = GetEmailIds();
string to = string.Join(";", selectedUserIds);
WebMail.Send(to: to, subject: subject, body: message, cc: cc, filesToAttach:   attachments, isBodyHtml:true);

【问题讨论】:

    标签: asp.net-mvc-3


    【解决方案1】:

    我认为这是一个文档错误。分隔符适用于,。这是电子邮件地址的标准分隔符。

    查看 System.Net.Mail 命名空间:http://msdn.microsoft.com/en-us/library/14k9fb7t.aspx - 查看最后一条评论。

    【讨论】:

    • 没有多个发件人地址。它是我在 Web.Config 中配置的单个发件人地址。有关代码,请参阅我的问题,我已对其进行了编辑以包含相关代码。
    • 不知道你有没有流氓;在变量 to 的开头或结尾。
    • Valamas,to 字段格式正确,包含类似“abc@domain.com;xyz@domain.com”的条目。我在调试器中检查了它。变量 to 中没有其他分号 (;)。
    • Valamas,我从来没有想过会有这个问题。谢谢你。我现在可以向多个收件人发送邮件。
    【解决方案2】:

    System.Net.Mail 相关的类都使用, 来分隔收件人、抄送和密送字段中的地址。我建议您将代码更改为:

    string to = string.Join(",", selectedUserIds);
    

    【讨论】:

      猜你喜欢
      • 2013-06-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-12-29
      • 1970-01-01
      • 1970-01-01
      • 2015-04-24
      • 2019-04-03
      相关资源
      最近更新 更多