我尝试使用以下代码发送电子邮件:
MailMessage message = new MailMessage();
message.From = new MailAddress(fromMailAddress.Trim());
message.To.Add(new MailAddress(toMailAddress.Trim()));
message.Subject = subject;
message.Body = body;
message.SubjectEncoding = System.Text.Encoding.UTF8;
message.BodyEncoding = System.Text.Encoding.UTF8;
SmtpClient client = new SmtpClient();
try
{
client.Send(message);
}
catch(Exception e)
{
throw e;
}
然而,我得到了例外:
服务器响应为:5.5.4无效地址
从电子邮件到电子邮件,服务器主机名和端口都是正确的。具有完全相同输入值的完全相同的代码适用于我们办公室中的另一台机器
答案 0 :(得分:1)
经过彻底调试后找到答案。
结果我的机器名称中包含一个'å'字符(无效的瑞典字符)。改变之后,它起作用了。
答案 1 :(得分:1)
为System.Net.Mail发布了一个影响地址解析和Unicode的KB,因此它在一台计算机上工作而不是另一台计算机的原因可能就是这个KB的存在。 .NET 4.0在解析电子邮件地址方面也有一些重大改进。