خطا در ارسال ایمیل برای کاربر
سلام دوستان
من برنامه ای نوشتم که وقتی کاربر در سایت ثبت نام کرد ایمیلی با پیغام خوش آمدید برای کاربر ارسال بشه برنامه ارسال ایمیل رو نوشتم و تنظیماتی هم تو وب کانفیگ ایجاد کردم اما وقتی برنامه به خط آخر یعنی smtp.Send(mail) میرسه پیغام خطای زیر رو نشون میده این خطا برای چیه و مشکل از کجاست؟
برنامه ارسال ایمیل :
MailAddress from = new MailAddress(WebConfigurationManager.AppSettings["FromMailAddress"], WebConfigurationManager.AppSettings["FromMailTitle"], Encoding.UTF8);
MailAddress to = new MailAddress(model.UserName);
MailMessage mail = new MailMessage(from, to);
mail.Subject = "خوش آمدید";
mail.Body = GenerateMessageBody(mail.Subject, "کاربر گرامی " + model.FirstName + " به سایت ... خوش آمدید. .");
mail.IsBodyHtml = true;
SmtpClient smtp = new SmtpClient();
smtp.Send(mail);
تنظیمات مربوط به وب کانفیگ :
کد HTML:
<system.net> <mailSettings> <smtp from="test@gmail.com"> <network host="hostName" defaultCredentials="false" password="...." userName="noreply@hostName.com" /> </smtp> </mailSettings> </system.net>
پیغام خطا :
Unable to connect to the remote server
A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond 72.55.165.179:25
نقل قول: خطا در ارسال ایمیل برای کاربر
سلام سرویس نمیتونه به آی پی که شما دادید متصل بشه
یه نمونه کار به این صورته از این کپی کنید و داده های خودتون رو جایگذاری کنید کار میکنه:
تنظیمات وب کانفیگ:
<appSettings>
<add key="Register_Mail_IP" value="xxx.xxx.xxx.xxx" />
<add key="Register_Mail_EmailSender" value="xxx@xxx.com" />
<add key="Register_Mail_UsernameSender" value="xxx@xxx.com" />
<add key="Register_Mail_PasswordSender" value="xxxx" />
<add key="Register_Mail_Port" value="25" />
</appSettings>
کدهای مربوطه:
private void configSMTPasync(IdentityMessage message)
{
#region formatter
string html = message.Body;
#endregion
MailMessage msg = new MailMessage();
msg.IsBodyHtml = true;
msg.From = new MailAddress(ConfigurationManager.AppSettings["Register_Mail_EmailSender"]);
msg.To.Add(new MailAddress(message.Destination));
msg.Subject = message.Subject;
msg.AlternateViews.Add(AlternateView.CreateAlterna teViewFromString(html, null, MediaTypeNames.Text.Html));
SmtpClient smtpClient = new SmtpClient(ConfigurationManager.AppSettings["Register_Mail_IP"], Convert.ToInt32(ConfigurationManager.AppSettings["Register_Mail_Port"]));
System.Net.NetworkCredential credentials = new System.Net.NetworkCredential(ConfigurationManager. AppSettings["Register_Mail_UsernameSender"], ConfigurationManager.AppSettings["Register_Mail_PasswordSender"]);
smtpClient.Credentials = credentials;
smtpClient.EnableSsl = false;
smtpClient.Send(msg);
}
نقل قول: خطا در ارسال ایمیل برای کاربر
دوست عزیز، طبق دستورات بالا ، برنامه رو تغییر دادم اما متاسفانه دوباره همین خطا رو میده. تمام اطلاعاتی که باید در وب کانفیگ تنظیم می کردم درست هستند.:افسرده::افسرده:
نقل قول: خطا در ارسال ایمیل برای کاربر
خب پس قطعا اتصال شما مشکل داره، اگر از هاست استفاده میکنید آی پی و پورت دقیق رو از هاست سوال کنید. و اگر از سرور استفاده میکنید باید از باز بودن پورت 25 مطمئن بشید.