私はWindows Vistaを持っており、IISにデフォルトの仮想SMTPがないことを確認しました。パスワード回復コントロールがメールを送信できない
パスワード回復コントロールの電子メールを送信するためにローカルホストをポート25で使用しましたが、機能しません。
どのように電子メールを送信できますか?
私はそれが今働いています。ここに私のコードです:
PasswordRecovery1_SendingMail(object sender, MailMessageEventArgs e)
{
e.Cancel = true;
PasswordRecovery1.MailDefinition.BodyFileName = "~/password.txt";
SmtpClient smtp = new SmtpClient();
smtp.EnableSsl = true;
smtp.Send(e.Message);
}
<mailSettings>
<smtp from="[email protected]">
<network host="smtp.gmail.com" port="587" userName="[email protected]" password="xxxxx"/> </smtp>
</mailSettings>
私が書いたPASSWORD.TXTファイルで「あなたはログインの詳細を以下によりウェブサイトに戻ることができPASSWORD.TXTファイルでは、私が書いた」あなたはログインの詳細を以下によりWebサイトに戻ることができます。
<br>Username = <%Username%> </br>
<br>Password = <%password%>" </br>
詳細が必要ですが、問題は何ですか? –
例外はありますか? IISがSMTP接続をリッスンしていないことを確認しましたか?あなたのSMTPサーバのログをチェックし、それがメッセージを受信していて、内部的に何らかの形で失敗している(したがってC#アプリケーションと無関係である)かどうかを確認してください。 – David
地獄の友人、私は答えを見つけるために多くの検索を行い、最終的にそれを得た。今それは正常に動作しています。私はシステムに無料のSMTPをインストールしませんでした。代わりに、私はsmtp.gmail.comをメールを送信するサーバーとして使用しました。 protected void PasswordRecovery1_SendingMail(オブジェクト送信者、MailMessageEventArgs e) { e.Cancel = true; PasswordRecovery1.MailDefinition.BodyFileName = "〜/ password.txt"; SmtpClient smtp =新しいSmtpClient(); smtp.EnableSsl = true; smtp.Send(e.Message); } – user662417