質問

次のコードを使用してメールを送信しようとしました:

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のKBがリリースされたため、一方のマシンで動作し、もう一方のマシンでは動作しない理由は、おそらくこのKBの存在でした。 .NET 4.0では、メールアドレスの解析が大幅に改善されています。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top