Ошибка отправки почты через Google SMTP - PullRequest
4 голосов
/ 18 октября 2011

Я все еще получаю "Ошибка отправки почты". исключение. Внутреннее исключение - «Невозможно подключиться к удаленному серверу», а внутреннее исключение - «Попытка подключения не удалась, потому что подключенная сторона не ответила должным образом через некоторое время, или не удалось установить соединение, так как подключенный хост не смог ответить ». Я уверен, что причина этого не в настройках брандмауэра. Кто-нибудь знает, что я могу с этим сделать? Спасибо.

var mail = new MailMessage("username@gmail.com", "destination@gmail.cz")
                        {
                            Subject = "Testing subject",
                            Body = "Testing body"
                        };
            try
            {
                var client = new SmtpClient("smtp.google.com", 465)
                                {
                                    EnableSsl = true,
                                    Credentials = new NetworkCredential("username@gmail.com", "password")
                                };
                client.Send(mail);
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }

Ответы [ 6 ]

6 голосов
/ 18 октября 2011

Вот необходимые настройки Google:

  • Сервер входящей почты (POP3) - требуется SSL: pop.gmail.com

    Использовать SSL: Да

    Порт: 995

    Сервер исходящей почты (SMTP) - требуется TLS3 или SSL: smtp.gmail.com (используйте аутентификацию)

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

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

    Порт для SSL: 465

    Имя учетной записи: ваш полный адрес электронной почты (включая @ gmail.com или @ Your_domain.com)

    Адрес электронной почты: ваш адрес электронной почты (username@gmail.com или username@your_domain.com) * * тысяча двадцать одна

    Пароль: ваш пароль Gmail

3 голосов
/ 18 октября 2011

Я не думаю, что 465 - правильный порт.Вы пробовали 587?И SMTP-сервер smtp.gmail.com.

1 голос
/ 03 октября 2016

Я также работаю с почтовым сервером Godaddy и ниже, код работал нормально для меня:

Пространство имен :

System.Net.Mail

============

string senderID = "myemailID@mydomain.com";
string senderPassword = "123456";
string body = " Test email ";

MailMessage mail = new MailMessage();
mail.To.Add(username);
//mail.CC.Add(_cc);
mail.From = new MailAddress(senderID);
mail.Priority = MailPriority.High;
mail.Subject = "Test Email";
mail.Body = body;
mail.IsBodyHtml = true;
SmtpClient smtp = new SmtpClient();
smtp.Host = "relay-hosting.secureserver.net"; //Or Your SMTP Server Address
smtp.Credentials = new System.Net.NetworkCredential
     (senderID, senderPassword); // ***use valid credentials***
smtp.Port = 25;
smtp.EnableSsl = false;
smtp.Send(mail);
0 голосов
/ 17 мая 2012

правильный порт 587 для класса smtpclient

0 голосов
/ 18 октября 2011

Я не думаю, что smtp.google.com является правильным сервером для Gmail. Вы пробовали smtp.gmail.com через порт 25?

Порт 465 предназначен для SMTP через SSL, который не поддерживается .NET SmtpClient. Вместо этого используйте порт 25. SMTP-клиент будет использовать функцию STARTTLS для шифрования связи.

0 голосов
/ 18 октября 2011

Если имя хоста указано правильно и google поддерживает SMTP через SSL, значит оно заблокировано, и я бы начал проверять брандмауэры.

...