0

現在、System.Net.Mail.MailMessage を介して電子メールを送信しようとしていますが、コードを実行すると、この例外が生成され、メールの送信に失敗しました。内部例外: リモート サーバーに接続できません。リモートサーバーに接続していると思いますが、なぜこの例外が発生するのか興味があります。私のコードは次のようになります。

 try
        {
            System.Net.Mail.MailMessage msg = new System.Net.Mail.MailMessage();

            msg.Subject = "Testing Email";

            msg.From = new System.Net.Mail.MailAddress("test@gmail.com");

            msg.To.Add(new System.Net.Mail.MailAddress("isavepluscom@gmail.com"));

            msg.Body = "testing the email";



            System.Net.Mail.SmtpClient smpt = new System.Net.Mail.SmtpClient();

            smpt.Host = "smtp.gmail.com";

            smpt.Port = 587;

            smpt.EnableSsl = true;

            smpt.Credentials = new System.Net.NetworkCredential("test@gmail.com", "1234567890");

            smpt.Send(msg);
        }
        catch (Exception ex)
        {

        }

コードで資格情報を設定しても、webconfig ファイル内に何かを含める必要がありますか?

4

2 に答える 2

3

コードを次のようなものに短縮してみてください

 var smptClient = new SmtpClient("smtp.gmail.com", 587)
 {
     Credentials = new NetworkCredential("isavepluscom@gmail.com", "123456789"),
     EnableSsl = true
 };
  smptClient.Send("isavepluscom@gmail.com", "test@gmail.com", "Testing Email", "testing the email");
于 2013-08-05T14:58:53.010 に答える
1

セキュリティ例外のように見えます。ポート 587 が通信用に開いていることを確認してください。サーバーの場合、デフォルトでブロックされます。

于 2013-08-05T17:06:03.567 に答える