2013-06-24 2 views
1

Я особенно сделал этот учебник в качестве основы: http://www.codeproject.com/Tips/371417/Send-Mail-Contact-Form-using-ASP-NET-and-CsharpОтправка электронной почты с помощью asp.net веб-страницы

Я успешно отладить ошибки, но тогда это не похоже на работу ... HELP пожалуйста ...

АНОНС:

my contact us form

КОД ЗА:

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 
using System.Web.UI; 
using System.Web.UI.WebControls; 
using System.Net; 

общественный частичный класс Default2: System.Web.UI.Page { защищен недействительным Page_Load (объект отправителя, EventArgs е) {

} protected void SendMail() { // Gmail Address from where you send the mail var fromAddress = "[email protected]"; // any address where the email will be sending var toAddress = YourEmail.Text.ToString(); //Password of your gmail address const string fromPassword = "Password"; // Passing the values and make a email formate to display string subject = YourSubject.Text.ToString(); string body = "From: " + YourName.Text + "\n"; body += "Email: " + YourEmail.Text + "\n"; body += "Subject: " + YourSubject.Text + "\n"; body += "Question: \n" + Comments.Text + "\n"; // smtp settings var smtp = new System.Net.Mail.SmtpClient(); { smtp.Host = "smtp.gmail.com"; smtp.Port = 587; smtp.EnableSsl = true; smtp.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network; smtp.Credentials = new NetworkCredential(fromAddress, fromPassword); smtp.Timeout = 20000; } // Passing values to smtp object smtp.Send(fromAddress, toAddress, subject, body); } protected void Button1_Click(object sender, EventArgs e) { try { //here on button click what will done SendMail(); DisplayMessage.Text = "Message sent!"; DisplayMessage.Visible = true; YourSubject.Text = ""; YourEmail.Text = ""; YourName.Text = ""; Comments.Text = ""; } catch (Exception) { } }}

+0

Вы должны предоставить более подробную информацию о том, что не работает, и какие ошибки вы столкнулись –

+0

которая произошла ошибка и где .. –

+0

почты не отправляется ... – mitche027

ответ

0

Я думаю, что порт Gmail SMTP должен быть 465, а не 587.

https://support.google.com/mail/troubleshooter/1668960?hl=en&from=75726&rd=1#ts=1665018,1665142

+0

Я использую 587 успешно, но это Google ... var client = new SmtpClient ("smtp.gmail.com", 587) { Credentials = new NetworkCredential ("acct @ gma il.com "," pw "), EnableSsl = true }; – smoore4

+0

пробовал .... все еще не работает – mitche027

+0

Войдите в свою учетную запись и проверьте папку «Отправлено». Это метод 'smtp.Send' не генерирует исключение, это означает, что соединение правильное. –

0

Have вы пытались комментировать эту статью/связаться с автором?

Я предполагаю, что есть 2 вещи здесь:

A. Вы ничего поймать блок не сделали. Вы должны рассмотреть следующие в блоке поймать

catch(Exception ex){ 
DisplayMessage.Text = ex.Message; 
DisplayMessage.Visible = true; 
} 

B. Проверьте, если Gmail счета вы используете имеет SMTP с POP3/IMAP включен.

0

попробовать это

protected void SendMail() 
    { 
     // any address where the email will be sending 
     var toAddress = YourEmail.Text.ToString(); 
     //Password of your gmail address 
     const string fromPassword = "Password"; 
     // Passing the values and make a email formate to display 
     string subject = YourSubject.Text.ToString(); 
     string body = "From: " + YourName.Text + "\n"; 
     body += "Email: " + YourEmail.Text + "\n"; 
     body += "Subject: " + YourSubject.Text + "\n"; 
     body += "Question: \n" + Comments.Text + "\n"; 

     SmtpClient smtpClient = new SmtpClient(); 
     MailMessage message = new MailMessage(); 
     MailAddress fromAddress = new MailAddress("[email protected]"); 
     smtpClient.Host = "smtp.gmail.com"; 
     smtpClient.Port = 587; 
     smtpClient.UseDefaultCredentials = false; 
     smtpClient.EnableSsl = true; 
     smtpClient.Credentials = new System.Net.NetworkCredential("[email protected]", fromPassword); 
     message.From = fromAddress; 
     message.To.Add(toAddress); 
     message.Subject = subject; 
     message.Priority = MailPriority.High; 
     message.Body = body; 
     message.IsBodyHtml = true; 
     smtpClient.Send(message); 
    }