Невозможно отправить электронное письмо от нажатия кнопки. ASP.NET и C # - PullRequest
2 голосов
/ 31 мая 2011

У меня небольшой опыт работы с C #, и в настоящее время у меня возникает проблема с отправкой электронного письма с помощью нажатия кнопки на указанный адрес.

У меня есть веб-страница ASP.NET, которая содержит форму контакта.Я хочу, чтобы пользователь вводил данные в текстовые поля, а затем, когда он нажимает кнопку «ОТПРАВИТЬ», эта информация отправляется по электронной почте.

Однако при нажатии кнопки «Отправить» я получаю следующее.

Попытка подключения не удалась, потому что подключенная сторона не ответила должным образом через некоторое время, или не удалось установить соединение, потому что подключенный хост не смог ответить 209.85.229.109:25

Код C # выглядит следующим образом.

protected void Button1_Click(object sender, EventArgs e)
{
    MailMessage mail = new MailMessage();
    mail.From = new MailAddress(txtemail.Text);
    mail.To.Add("hmgomez90@gmail.com");
    mail.Subject = "Taxi Taxi Support";
    mail.IsBodyHtml = true;
    mail.Body = "First Name: " + txtname.Text;
    mail.Body += "Email: " + txtemail.Text;
    mail.Body += "Comments: " + txtquestion.Text;

    SmtpClient smtp = new SmtpClient();
    smtp.Host = "smtp.gmail.com";
    smtp.Send(mail);
}

Я использую System.Net и System.Net.Mail

Любая помощь будет принята с благодарностью.

Ответы [ 2 ]

5 голосов
/ 31 мая 2011

Полагаю, вам также потребуется указать порт (587) и учетные данные для использования SMTP-сервера Google.

Посмотрите на этот вопрос: Отправка электронной почты через SMTP-сервер Gmail сC # , который включает в себя код:

var client = new SmtpClient("smtp.gmail.com", 587)
{
    Credentials = new NetworkCredential("myusername@gmail.com", "mypwd"),
    EnableSsl = true
};
client.Send("myusername@gmail.com", "myusername@gmail.com", "test", "testbody");
0 голосов
/ 31 мая 2011

Я думаю, что вы используете MailMessage выглядит правильно, но я бы поставил под сомнение настройки SMTP.Gmail, как правило, требователен и, вероятно, потребует от вас определения порта.

Из справки Gmail:

smtp.gmail.com (использовать аутентификацию)

Использовать аутентификацию: Да

Порт для TLS / STARTTLS: 587

Порт для SSL: 465

Таким образом, вы можете добавить

smtp.Port = 587
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...