6

是我还是 System.Net.Mail 中的 MailAddress 类中存在错误?

此代码将始终抛出异常:

MailMessage mail = new MailMessage();
mail.From = new MailAddress("me@me.com");     
mail.To.Add("joe-blow@me.com");

mail.Subject = "Test email"
mail.IsBodyHtml = true;
mail.Body = "<b>Does not work</b>";

//Connect to server and send message.               
SmtpClient smtp = new SmtpClient();
smtp.Host = "mailserver.me.com";
smtp.Send(mail);

我得到的例外是:

System.FormatException: The specified string is not in the form required for an
e-mail address.

但是,根据wiki,破折号是本地部分的有效字符。

有谁知道使用 System.Net.Mail 类向电子邮件地址中带有破折号的人发送电子邮件的方法?

4

2 回答 2

2

你确定吗?它对我有用(我剪切并粘贴了您的代码,用我的实际邮件服务器替换了您的虚拟邮件服务器。)我只是收到邮件无法发送的发送通知joe-blow@me.com

由于您有异常消息,我想这是真实的。可能是编码问题?

于 2010-11-06T04:26:35.263 回答
0

此异常可能是由于app.config 文件元素的from属性中包含无效的电子邮件地址而导致的。smtp尽管这会导致任何发送电子邮件的尝试抛出异常,无论to电子邮件地址是否包含破折号。不过,值得检查mailSettingsapp.config 元素中指定的内容。

于 2010-11-06T10:45:26.530 回答