Отправка электронной почты с именем пользователя путем сравнения электронной почты в базе данных
у меня есть страница , где пользователи входят в систему, а также ссылка на имя пользователя, которая отправляет пользователям их имя Пользователя по электронной почте. Я использую учетную запись outlook, чтобы проверить, какая из них открыта. я сверяю адрес электронной почты с адресом в моей таблице базы данных для пользователей и отправляю электронное письмо пользователю, если этот адрес присутствует в таблице БД. я получаю следующую ошибку '
'Цитата:Исключение типа "System.Net.Mail.SmtpFailedRecipientException" произошло в App_Web_2woqyecp.dll но не был обработан в пользовательском коде
и если я использую другой адрес электронной почты не из outlook то письмо не отправляется но я не получаю сообщение об ошибкеЦитата:Дополнительная информация: почтовый ящик недоступен. Ответ сервера был следующим: 5.7.1 не удалось ретранслировать
Что я уже пробовал:
public void forgot() { string username = ""; SqlConnection con = new SqlConnection(strConnString); SqlCommand cmd = new SqlCommand(spgetuser, con); cmd.Parameters.AddWithValue("@email", txtEmailP.Text); con.Open(); using (SqlDataReader dr = cmd.ExecuteReader()) { if (dr.Read()) { username= dr["username"].ToString(); } } con.Close(); if (!string.IsNullOrEmpty(username)) { try { string emailFrom = "me@example.com"; string body = "<div style='border: medium solid grey; width: 500px; height: 266px;font-family: arial,sans-serif; font-size: 17px;'>"; body += "<h3 margin-top:0px;'>Username Recovery</h3>"; body += "<br />"; body += ("Your Username is: " + username); body += "<br />"; body += "<br />"; body += "Kinds Regards"; body += "<br />"; body += "</div>"; System.Net.Mail.MailMessage message = new System.Net.Mail.MailMessage(); //message.To.Add(emailTo); //message.Subject = subject; message.From = new System.Net.Mail.MailAddress(emailFrom); message.IsBodyHtml = true; message.Body = body; message.Priority = System.Net.Mail.MailPriority.High; message.Subject = "username Recovery"; message.From = new System.Net.Mail.MailAddress(emailFrom); SmtpClient SmtpMail = new SmtpClient(); SmtpMail.EnableSsl = true; SmtpMail.Port = 25; SmtpMail.Host = "myhost"; System.Net.ServicePointManager.ServerCertificateValidationCallback = delegate(object s, System.Security.Cryptography.X509Certificates.X509Certificate certificate, System.Security.Cryptography.X509Certificates.X509Chain chain, System.Net.Security.SslPolicyErrors sslPolicyErrors) { return true; }; // compare session username to username in database SqlCommand command = new SqlCommand(spcheck,con) command.Parameters.AddWithValue("@email", txtEmailP.Text); using (SqlConnection connection = new SqlConnection(strConnString)) { connection.Open(); command.Connection = connection; SqlDataReader reader = command.ExecuteReader(); // Call Read before accessing data. while (reader.Read()) { var to = new MailAddress(reader["Email"].ToString()); message.To.Add(to); } // Passing values to smtp object SmtpMail.Send(message); ScriptManager.RegisterStartupScript(this, typeof(string), "Msg","alert('request has been sent');", true); Response.Redirect("~/lgn.aspx"); // Call Close when done reading. reader.Close(); } } catch (Exception ex) { throw ex; } } } protected void Button1_Click(object sender, EventArgs e) { this.forgot(); }
F-ES Sitecore
Похоже, ваш smtp-сервер неправильно настроен для отправки электронной почты, которую вы хотите отправить, или настройки, которые вы используете (порт и ssl), неверны для вашего хоста. Мы не знаем, как настроен ваш smtp-сервер, поэтому не можем дать никаких конкретных советов.
Member 14183767
привет , если я использую свой адрес электронной почты(рабочий адрес электронной почты), я могу получить письмо с именем пользователя, но если я попытаюсь использовать другой адрес электронной почты, например из outlook, он не будет работать
Maciej Los
Пожалуйста, используйте виджет "ответить" (справа от Ника /логина), чтобы быть уверенным, что система уведомлений сообщит пользователю о вашем ответе.
Ger Hayden
У Бипина Джоши есть здесь рабочий пример. http://www.binaryintellect.net/articles/df920caf-ba69-4714-938f-fbb358532c0f.aspx которой я следовал для своей собственной работы.
Matias Lopez
Маленький вопрос... App_Web_2woqyecp.dll: это внешняя/внутренняя ссылка? Где/как на него ссылаются?
Member 14183767
Привет , я не уверен, откуда берется эта dll , ее нет в моей папке bin
George Swan
Мой совет, как бы то ни было, не использовать System.Net.Mail, он не поддерживает многие современные протоколы. Пакет NuGet MailKit гораздо менее проблематичен.