0

Windows7でasp.netからメールを送ろうとしています。何時間ものグーグル検索の後、Windows 7 で SMTP サーバーが利用できないことがわかりました。次のコードを試してみたところ、「ターゲット マシンが積極的に拒否したため、接続できませんでした。74.125.25.109:587」という 1 つの主要なエラーが発生しました。 .

コード番号:1

 private void sendmail()
    {
        string email = "mymail@gmail.com";
        string password = "mygmail_password";

        var loginInfo = new NetworkCredential(email, password);
        var msg = new System.Net.Mail.MailMessage();
        var smtpClient = new SmtpClient("smtp.gmail.com", 587);

        msg.From = new MailAddress(email);
        msg.To.Add(new MailAddress("recipient@gmail.com"));
        msg.Subject = "my mail subject";
        msg.Body = "my mail body";
        msg.IsBodyHtml = true;

        smtpClient.EnableSsl = true;
        smtpClient.UseDefaultCredentials = false;
        smtpClient.Credentials = loginInfo;
        smtpClient.Send(msg);
    }

コード番号:2

private void sendthemail()
    {
        System.Net.Mail.MailMessage mailObj = new System.Net.Mail.MailMessage(
         txtFrom.Text,txtEmail.Text,txtSubject.Text, txtBody.Text);
        SmtpClient SMTPServer = new SmtpClient("localhost");
        try
        {
            SMTPServer.Send(mailObj);

            SMTPServer.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.SpecifiedPickupDirectory;

            SMTPServer.PickupDirectoryLocation = "C:\\inetpub\\mailroot\\Pickup";

            SMTPServer.Host = "127.0.0.1"; // localhost

            SMTPServer.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network;
            Label1.Text = "Mail sent";
        }
        catch (Exception ex)
        {
            Label1.Text = ex.ToString();
        }
    }

私のaspxは次のようになります:

私のIISは次のようになります。

スタックトレース: 私の質問は次のとおりです。

-gmail を使用して ASP.Net 経由でメールを送信するには、SMTP サーバーが必要ですか?

-ダウンロードしなければならないものはありますか?

-コードに追加する必要があるものはありますか?

-システムで実行されている SMTP サーバーを検出するにはどうすればよいですか?

hMailServer、Smtp4dev、Windows SMTP サーバーなどの多くのアプリケーションをダウンロードしましたが、どうすればよいかわかりません。助けてください!!

4

2 に答える 2

1

Gmail アカウントで明示的に smtp を有効にしましたか。私の知る限り、これを使用する前に有効にする必要があります。コードが問題ないように見えるので、最初に gmail の設定を確認することをお勧めします。

ここでポート番号も削除してみます。EnableSSL プロパティを使用しているため、必要ありません。

var smtpClient = new SmtpClient("smtp.gmail.com");

-gmail を使用して ASP.Net 経由でメールを送信するには、SMTP サーバーが必要ですか? – SMTP サーバーは必要ですが、ローカル マシンにインストールする必要はありません。

-ダウンロードしなければならないものはありますか? - いいえ。

-コードに追加する必要があるものはありますか? – 上記の行を変更してみてください。

-システムで実行されている SMTP サーバーを検出するにはどうすればよいですか? – システムで実行されているサービスを確認し、そこに SMTP サーバーがあるかどうかを確認します。

于 2013-05-01T02:31:50.027 に答える