Не показывает никаких ошибок, но Почта не отправляется
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Text; using System.Net.Mail; using System.Configuration; using System.Data.SqlClient; using System.Data; using System.Net; public partial class forget : System.Web.UI.Page { private object lblMessage; protected void Page_Load(object sender, EventArgs e) { } protected void Button1_Click(object sender, EventArgs e) { try { DataSet ds = new DataSet(); String CS = ConfigurationManager.ConnectionStrings["DBCS"].ConnectionString; using (SqlConnection con = new SqlConnection(CS)) { con.Open(); //SqlCommand cmd = new SqlCommand("SELECT UserName,Password FROM UserInfo Where Email= '" + txtEmail.Text.Trim() + "'", con); string Command = "select uname,pwd from register where email = @emailid and Security_1 = @Security1 and Security_2 = @Security2"; SqlCommand cmd = new SqlCommand(Command, con); cmd.Parameters.AddWithValue("@emailid", txt_email.Text.Trim()); cmd.Parameters.AddWithValue("@Security1", txt_security1.Text); cmd.Parameters.AddWithValue("@Security2", txt_security2.Text); SqlDataAdapter da = new SqlDataAdapter(cmd); da.Fill(ds); con.Close(); } if (ds.Tables[0].Rows.Count > 0) { MailMessage Msg = new MailMessage(); // Sender e-mail address. Msg.From = new MailAddress(txt_email.Text); // Recipient e-mail address. Msg.To.Add(txt_email.Text); Msg.Subject = "Your Password Details"; Msg.Body = "Hi, <br>Please check your Login Detailss<br><br>Your Username: " + ds.Tables[0].Rows[0]["uname"] + "<br><br>Your Password: " + ds.Tables[0].Rows[0]["pwd"] + "<br><br>"; Msg.IsBodyHtml = true; // your remote SMTP server IP. SmtpClient smtp = new SmtpClient(); smtp.Host = "smtp.gmail.com"; smtp.Port = 587; smtp.Credentials = new System.Net.NetworkCredential("tmjagadeesh.95@gmail.com", "password"); smtp.EnableSsl = true; smtp.Send(Msg); //Msg = null; lbltxt.Text = "Your Password Details Sent to your mail"; // Clear the textbox valuess txt_email.Text= ""; } else { lbltxt.Text = "The Email you entered not exists."; } } catch(Exception ex) { Console.WriteLine("{0} Exception caught.", ex); } } }
Что я уже пробовал:
я получаю подробную информацию со страницы забыть пароль и нажимаю кнопку отправить почту нужно отправить
Suvendu Shekhar Giri
Вы уверены, что не получаете никакой ошибки?
Пожалуйста, попробуйте еще раз с точкой останова и посмотрите, работает ли кодовый блок "smtp.Send(Msg);" нормально.
Попробуйте добавить следующую строку после исключения msg, то есть консоль.Писать.....
Console.Readline();
Richard MacCutchan
Хорошо сделано хранение паролей в открытом тексте и отправка их пользователю таким же образом. Это должно гарантировать, что в вашу систему попадет много хакеров.
F-ES Sitecore
Это очень часто задаваемый вопрос, google для статей об отправке smtp - почты через gmail, есть много предостережений относительно того, почему это может не работать. Для начала вам нужно настроить свою учетную запись так, чтобы она позволяла отправлять почту программно, и она также может ждать ответа "captcha" от вас.
Не используйте Гамиль для отправки писем используйте SMTP-сервера, предоставленный вашим хостинг компанией\ИСП\.