MailMessage.To.Add()引发异常:";在邮件头中发现无效字符:''&”;

本文关键字:发现 字符 无效 quot Add To MailMessage 异常 | 更新日期: 2023-09-27 18:22:23

当我在sharepoint项目中使用它时,我收到了这个错误,而在控制台应用程序中它运行良好

我使用MailMessage类使用SMTP发送电子邮件。但是,当我试图将用户添加到"to"属性时,我得到了{"在邮件头中发现了一个无效字符:','。"}异常,我认为这里发生了一些可疑的事情,因为允许','分隔多个用户。添加多用户

**多个电子邮件地址必须用逗号字符(",")分隔。**

MailMessage mailMessage = new MailMessage();
 mailMessage.To.Add("amir_khan@enter.com,walter_white@yahoo.com,");

MailMessage.To.Add()引发异常:";在邮件头中发现无效字符:''&”;

找到罪魁祸首:这是最后一个电子邮件地址末尾多余的逗号(

mailMessage.To.Add("amir_khan@enter.com,walter_white@yahoo.com,");

刚刚把它取下来,瞧!它正在发挥作用。不知道为什么它在控制台应用程序中工作,但在共享点中不工作:(

mailMessage.To.Add("amir_khan@enter.com,walter_white@yahoo.com");

如果这在SharePoint中不起作用,请将每个地址分别添加到MailMessage对象中,如下所示;

foreach (var address in StringofEmails.Split(",")) {
MailMessage.To.Add(new MailAddress(address.Trim(), ""));

}

即使末尾没有逗号,我还是得到了错误。原来我需要在逗号后面留一个空格

我必须更改字符串中的代码。将(",",emailList)加入字符串。加入(",",emailList)

跟随对我不起作用。

mailMessage.To.Add("amir_khan@enter.com,walter_white@yahoo.com");

以下内容对我有用(注意逗号后面有空格)。

mailMessage.To.Add("amir_khan@enter.com, walter_white@yahoo.com");

我无法复制它。上面的代码对我有效。也许每次都用一个单独的"to"来添加它们。

mailMessage.To.Add(x);
mailMessage.To.Add(y);

我不得不用外观更好的电子邮件更新一个项目,我发布了这个web项目,但出现了这个错误。

我的是来自的一些调试代码

currentUser = myname@mycompany.com   

已添加

MailAddress mailAddressUser = new MailAddress(currentUser + "@mycompany.com");

本质上:

myname@mycompany.com@mycompany.com    

因此,与其说是尾部逗号的问题,不如说是另一个@

在我的情况下,我忘记了过滤掉没有电子邮件的用户,所以我形成了这样的电子邮件列表:

username1@ldomain.com
username2@domain.com
@domain.com  //PROBLEM HERE
username3@linamar.com