我尝试使用以下代码发送电子邮件:

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无效地址

从电子邮件到电子邮件,服务器主机名和端口都是正确的。具有完全相同输入值的完全相同的代码适用于我们办公室中的另一台机器

有帮助吗?

解决方案

经过彻底调试后找到答案。

原来我的机器名称中有一个'å' - 字符(无效的瑞典字符)。改变之后,它起作用了。

其他提示

为System.Net.Mail发布了一个影响地址解析和Unicode的KB,因此它在一台计算机上工作而不是另一台计算机的原因可能就是这个KB的存在。 .NET 4.0在解析电子邮件地址方面也有一些重大改进。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top