私はWebプロジェクトで作業しています。私は "パスワードを忘れた"システムを作成し、必要なときにユーザーにメールを送りたいが、これを試してみるとのようなエラーが出るSmtpException:SocketExceptionのメッセージが送信されない:パーティが正しく応答しなかったか、に応答し、メールを送信できません。私は2525,25、および587のポートを試しました。C#でsmtpを使用してローカルホストからメールを送信できません
これは、SMTPメールサーバーのテスト
この
は、SMTP、DNSテスト です:私は、mxtoolboxでsmtp.gmail.comに接続できる場合、私もチェックここに私のコードです:
protected void lblForPass_Click(object sender, EventArgs e)
{
SmtpClient client = new SmtpClient();
client.DeliveryMethod = SmtpDeliveryMethod.Network;
client.EnableSsl = true;
client.Host = "smtp.gmail.com";
client.UseDefaultCredentials = false;
client.Port = 25;
client.Timeout = 300000;
System.Net.NetworkCredential credentials = new System.Net.NetworkCredential("[email protected]", "1122334455");
client.Credentials = credentials;
MailMessage msg = new MailMessage();
msg.From = new MailAddress("[email protected]");
msg.To.Add(new MailAddress("[email protected]"));
msg.Subject = "Subject Test";
msg.IsBodyHtml = true;
msg.Body = string.Format("<html><head></head><body><b>Body Test</b></body>");
try
{
client.Send(msg);
ScriptManager.RegisterClientScriptBlock(this, GetType(), "Mail Status", "alert('Sended Successfuly')", true);
}
catch(Exception ex)
{
Exception ex2 = ex;
string errorMessage = string.Empty;
while (ex2 != null)
{
errorMessage += ex2.ToString();
ex2 = ex2.InnerException;
}
string err = ex.Message;
ScriptManager.RegisterClientScriptBlock(this, GetType(), "Mail Error", "alert('" +err+"')", true);
}
}
このコードブロックで私が見逃したことはありますか、それとも何か他のものをチェックする必要はありますか?ありがとうございました。
既にポート587を試しました。アカウント設定を「開く」に変更してみましたが、役に立たなかった。それは私のファイアウォールに関することができますか? – ReadyFreddy
はい。私の意見では、第三者サービスの利用は良い解決策です。 –