0

.Net 4 c#、Windows Server 2008 R2、IIS 7を使用しており、電子メールの送信をテストするために使用しているWebサービスで次のコードを使用しています。できます。次に、COM+を介して.netc#を呼び出す従来のaspアプリで同じコードを使用すると、次のように失敗します。

"System.Net.Mail.SmtpException:メールの送信に失敗しました。---> System.Net.WebException:リモートサーバーに接続できません---> System.Net.Sockets.SocketException:ターゲットが原因で接続できませんでしたマシンは積極的にそれを拒否しましたxx.xxx.xxx.xxx:587 "

私はこれを何日も研究してきましたが、役立つものは何も見つかりません。どんな助けでも大歓迎です。ありがとうございました。

        public static class Mail
        {
        public static void SendEmail(string subject, string body)
        {
        var fromAddress = new MailAddress("user@gmail.com", "From Name");
        var toAddress = new MailAddress("user@email.com", "To Name"); 
        const string fromPassword = "password";

        var smtp = new SmtpClient
        {
            Host = "smtp.gmail.com",
            Port = 587,
            EnableSsl = true,
            DeliveryMethod = SmtpDeliveryMethod.Network,
            Credentials = new NetworkCredential(fromAddress.Address, fromPassword),
            Timeout = 20000
        };
        using (var message = new MailMessage(fromAddress, toAddress)
        {
            Subject = subject,
            Body = body
        })
        {
            smtp.Send(message);
        }
        }
    }
4

1 に答える 1

0

本当に「user@gmail.com」を使用している場合、このユーザーが不明であるため、サーバーが資格情報の受け入れを拒否していると思います。サーバー上に実際に存在する電子メール アドレスまたはユーザー名を使用してみてください。

于 2013-03-22T09:24:21.600 に答える