我正在开发一个软件,用户在按下按钮后发送电子邮件。
我在这些电子邮件中遇到了一些问题:他们有时引发此异常:The specified string is not in the form required for an e-mail address.
。我强调有时因为它们实际上有时会起作用。
令人惊讶的是,邮件地址实际上格式正确:它们看起来都像blahblah@domain.com
或Blah Blah <blahblah@domain.com>
。这甚至发生在我公司的一些邮件中,当然这些邮件是有效的。我甚至使用此正则表达式检查了所有地址,并且所有已通过:^\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$
。
以下是我的软件正在执行的步骤:
添加主要地址:
var mail = new MailMessage(new MailAddress("logistics@company.com", "company logistics department"), new MailAddress(address));
此处address
有效,因为软件确实在此步骤之前向此地址发送了电子邮件。
在循环中我添加了CC地址:
mail.CC.Add(new MailAddress(email));
这里我应用了空/空检查,所以我没有添加任何空邮件地址。
最后我将自己添加到BCC地址:
mail.Bcc.Add("my@company.com");
我这样做有什么问题吗?
是否存在一些关于C#.NET邮件类的已知问题(另外还有随机问题)?
此类可以处理的To / CC / Bcc地址的最大数量是否有限制?
编辑:我正在使用System.Net.Mail类