6

ユーザーがお問い合わせページで[送信]をクリックしたときにメールを送信しようとしていますが、何らかの理由で機能しません。何が問題になっていますか?(PSの電子メールとパスワードはこのコードスニペットから省略されていますが、実際のソリューションには含まれています。

ありがとう

web.configのコード:

<system.net>
<mailSettings>
  <smtp from="order@test.com">
    <network host="smtp.gmail.com"
             userName="" //my email
             password="" //password deleted for privacy reasons
             defaultCredentials="false"
             port="456"
             enableSsl="true" />
  </smtp>
</mailSettings>

asp.netお問い合わせフォームのコード:

protected void btnSubmit_Click(object sender, EventArgs e)
    {
        MailMessage mail = new MailMessage();
        mail.To.Add(new MailAddress("test@gmail.com"));
        mail.Subject = "Test";
        mail.Body = "Message was sent from" + txtName.text + txtComment.text;
        SmtpClient smtp = new SmtpClient();
        smtp.SendAsync(mail, null);
    }
4

2 に答える 2

3

Gmailは、SSL SMTP465ではなく、ポートを使用します。ここ456から:

送信メール(SMTP)サーバー-TLS1またはSSLが必要:smtp.gmail.com

認証を使用する:はい

TLS / STARTTLSのポート:587

SSL用のポート:465

于 2012-12-24T17:47:29.763 に答える
1

「その他」の考えられる理由:

  • ローカルで開発する場合、コードは「機能」しますが、ファイルをWebホストに「公開」/ ftp / copyなどすると機能しなくなりますか?

  • 次の場合 Yes:ホストのtrustASP.Netの設定を確認します。(共有ホスティングである可能性が高い)場合は、中程度の信頼度でSMTPにポート25以外ポートを使用できないことmedium trustに注意してください。

ローカルのdev/VS環境では、ASP.Netはで実行されるため、ローカル(dev)で動作しfull trustます。

REF(MSDNブログ):ASP.Netが完全に信頼されて実行されていない場合のSMTPの問題

于 2012-12-24T19:59:33.090 に答える