Próbowałem wysłać pocztę z mojej aplikacji internetowej asp.net.Jak utworzyć pocztę SMTP?
Chcę wysłać moje hasło aplikacji do identyfikatora użytkownika poczty, dla którego wziąłem hasło z bazy danych przy użyciu funkcji getdetailss
.
btn4getPwd
to przycisk wywoływania funkcji wysyłania wiadomości.
txtusername.Text
to pole tekstowe zawierające adres wysłania. Wszystkie wartości są poprawnie odbierane, błąd nie występuje, ale nie działa ...!
protected void btn4getPwd_Click(object sender, EventArgs e)
{
if (txtusername.Text.Trim() != "")
{
em.username = txtusername.Text.Trim();
DataTable forget = em.getdetailss(10);
string passwd = (forget.Rows[0]["PassCode"].ToString());
try
{
string Subject = "Your NLS Password";
string Body = passwd;
string ToEmail = txtusername.Text.Trim();
string SMTPUser = "[email protected]", SMTPPassword = "pswd";
MailMessage mail = new MailMessage();
mail.From = new MailAddress(SMTPUser, "AspnetO");
mail.To.Add(ToEmail);
mail.Body = Body;
mail.IsBodyHtml = true;
mail.Priority = MailPriority.Normal;
SmtpClient smtp = new SmtpClient();
smtp.Host = "smtp.gmail.com";
smtp.Port = 25;
smtp.Credentials = new System.Net.NetworkCredential(SMTPUser, SMTPPassword);
smtp.EnableSsl = true;
smtp.Send(mail);
Response.Write("<script language=javascript>alert('Mail send...!! ')</script>");
}
catch (SmtpException ex)
{
lbl4get.Text = "SmtpException ";
}
catch (Exception ex)
{
lbl4get.Text = "Exception";
}
}
else { Response.Write("<script language=javascript>alert('Invalid USERNAME...!! ')</script>"); }
}
Czy próbowałeś innego portu? lubisz 587 ..? –
Port SSL Gmaila to 587. Ponadto Gmail ma mechanizm bezpieczeństwa blokujący niestandardowe klienty poczty e-mail; musisz wyłączyć zabezpieczenie. – Tommy
Najgorsza "obsługa błędów" w historii. –