Ошибка smtp невозможно подключиться к smtp серверу

Будучи менеджером коммерческого отдела небольшой торговой компании, я выполнял задачу по отправке нескольких сотен писем постоянным и потенциальным клиентам. Базу формировали из открытых источников мы сами, предложение было реально интересным целевой аудитории. Возникла «неожиданная» проблема – часть писем стала возвращаться. Кроме того, начали приходить сообщения с указаниями кодов ошибки SMTP. Своего IT-специалиста в штате у нас не было, потому разобраться с проблемой я решил самостоятельно. О результатах этой работы, причинах возникновения таких ошибок и методах их решения расскажу в этой статье.

Ошибка SMTP

Как избежать ошибок при составлении и отправке писем

Причинами возникновения ошибок и, как следствие, неполучения сообщений могут служить разные факторы. Одни из них связаны с неправильным составлением исходящих писем самим пользователем, другие относятся к более глобальным программным настройкам со стороны получателя.

Самый простой способ это понять – отправить тестовое сообщение на свой ящик. Затем следует протестировать его отправку и получение, используя разные внешние почтовые сервисы: gmail, yandex, mail, rambler и другие. Если сообщение получено, следует ответить на него, проверив корректность исполнения команды «RE» вашим почтовым сервером и принятие ответа условным отправителем.

Довольно часто проблемы с попаданием писем в папку «Спам» или программной блокировкой на стороне получателя лежат в неверном оформлении ключевых полей. Особенно это касается массовых рассылок коммерческого характера. Для отправки большого количества однотипных сообщений как минимум потребуется выполнение следующих параметров настройки:

  • выделенный IP-адрес с целью исключить блокировку на стороне сервера-ретранслятора или почтовой программы конечного получателя;
  • криптографические подписи DKIM и SPF, помогающие подтвердить подлинность домена и минимизировать количество писем, воспринимаемых как спам.

Важно! В случае несоблюдения этих элементарных правил вы рискуете не только тем, что конкретное письмо не будет доставлено адресату. При многократных попытках отправки письма в большинстве почтовых программ в блок-лист попадет вся корреспонденция, отправляемая с вашего email, и даже корпоративный домен (@domain.***).

Некорректное использование бота для отправки писем может привести к блокировке отправителя и другим нежелательным последствиям. Даже если информация, которую вы отправляете потенциальным клиентам, реально интересна им, система спам-фильтрации может воспринять данную рассылку как вредоносную. Чтобы избежать этого, лучше всего воспользоваться услугами специализированных компаний.

В моей практике был случай, когда никак не удавалось добиться получения моей электронной корреспонденции одним из сотрудников компании «Лукойл». Письма я отправлял самые простые, используя корпоративный ящик. Только после того, как мой респондент обратился в IT-службу своего предприятия, выяснилось, что данный адрес находится в блэк-листе. Попал он туда из-за каких-то ошибок, допущенных моим предшественником. Понадобилось больше недели, чтобы адрес включили в «белый список». Все это время письма, высылаемые с личного mail@yandex.ru, доходили без проблем.

Полезно: Почему не приходят письма с сайта. Пример частного случая.

Комьюнити теперь в Телеграм

Подпишитесь и будьте в курсе последних IT-новостей

Подписаться

Положительные и отрицательные сообщения SMTP-сервера

SMTP (Simple Mail Transfer Protocol) — это протокол, используемый большинством почтовых программ для отправки электронных сообщений в сети интернет. Некорректное взаимодействие между серверами, индивидуальные настройки на уровне программного обеспечения и многие другие причины приводят к появлению ошибок. В этом случае письма не доходят до получателей, возвращаются обратно или просто «пропадают». При возникновении таких ситуаций отправитель получает сообщение о наличии конкретной ошибки, отражающей SMTP-код последнего отклика сервера.

Ошибка отправки писемДанные коды являются трехзначными, каждая его часть несет в себе определенную информацию, расшифровывающую причину сбоя.

Первая цифра комбинации содержит информацию о качестве доставки:

  • сообщение доставлено («SMTP OK»);
  • возникла неизвестная или временная проблема («SMTP unknown»);
  • критическая ошибка («SMTP error»). 

Существует четыре варианта значений для первой цифры кода:

  • 2xx – положительный результат, есть возможность передачи следующей команды;
  • 3xx – отложенный результат, необходимо осуществление дополнительных действий;
  • 4xx – сообщение не принято, но проблема носит временный характер, и запрос может быть повторен через какое-то время; 
  • 5xx – категорический отказ выполнения команды, отправка запроса со стороны передающего сервера в том же виде невозможна. 

Вторая цифра в коде сообщает о категории ответа:

  • 0 – синтаксические ошибки; 
  • 1 – ответы на запросы информации; 
  • 2 – ошибки канала передачи; 
  • 3 и 4 – неизвестный тип ошибки;
  •  5 – статус почтовой системы.

Третья цифра дает более расширенную информацию о значении, указанном во второй цифре SMTP-ответа.

Помимо цифровой комбинации, SMTP-сообщение может содержать дополнительную текстовую информацию.

Полную информацию о кодах, их компоновке и значениях можно найти в спецификациях RFC 5321 и RFC 1893.

Следует учитывать, что SMTP-message говорит об успешном или неудачном варианте доставки именно на уровне взаимодействия почтовых серверов. Положительный ответ вовсе не означает, что ваше письмо не попало в папку «Спам».

Читайте также

Как настроить почту в Outlook

Почему письма не отправляются с электронной почты

Виды почтовых сервисов

На программном уровне существует несколько видов обработки электронной почтовой корреспонденции. К первой группе относятся виртуальные сервисы, доступные чаще всего в бесплатном исполнении через интернет-соединение на сайте почтового сервера. Это всем известные ресурсы: 

  • Gmail/Google Suite (почта от Google.com);
  • Yandex.ru;
  • Mail.ru; 
  • Rambler.ru и другие.

Более подробную информацию о значениях ответов SMTP можно получить на сайтах популярных почтовых сервисов:

  • Коды ошибок SMTP почтового сервиса Gmail (Google Suite) (support.google.com)
  • Создание и отправка писем на сервисе Яндекс
  • Ошибки отправки писем при использовании сервера и сервиса Mail.ru

Ко второй группе относятся почтовые клиенты – программы, обладающие более расширенным функционалом, чем виртуальные сервисы. Наиболее популярными и универсальными почтовыми клиентами для Windows являются:

  • Opera Mail;
  • Mozilla Thunderbird;
  • Koma-Mail;
  • SeaMonkey;
  • The Bat!;
  • Microsoft Outlook.

Принципы работы почтовых клиентов несколько отличаются от процесса обработки корреспонденции виртуальными серверами. При отправке сообщения программа отсылает его не напрямую конечному получателю, а ретранслирует через сервер-релей. Этот процесс осуществляется чаще всего с использованием протокола SMTP, а получение корреспонденции обычно происходит с помощью IMAP или POP.

Коды SMTP-ответов определяются стандартом. Администратор почтового сервера может создать собственные настройки, в том числе и в части кодировки ответов сервера. Особенно это касается локальных почтовых программ, установленных непосредственно на сервере какой-нибудь компании.

О вариантах выбора и способах создания корпоративных почтовых сервисов более подробно можно прочитать здесь: Что такое почтовый сервер и зачем он нужен.

Чипсендер

Классификация отрицательных SMTP-сообщений. Способы решения проблем

Классификация отрицательных SMTP-сообщенийЯ настроил свою почтовую программу – локальный клиент (MS Outlook и т.п.) или бесплатную почту на gmail или yandex. Начинаю отправлять письма, но сталкиваюсь с различными проблемами, связанными с тем, что мои респонденты не получают направленную им корреспонденцию. Соответственно, на мой ящик приходят сообщения об ошибках в виде кодировок SMTP. 

Сразу опускаю тот пакет сообщений, которые начинаются с 2хх и 3хх, так как они содержат информацию о том, что задача получения письма уже решена положительно либо получит такой статус в ближайшее время. Более подробно рассмотрим некоторые виды кодированных сообщений, начинающихся с 4хх и 5хх, т.е. отклики SMTP-сервера, которые сообщают о наличии проблем.

Почтовый сервер сообщил об ошибке 421

Значение: Service Not Available. Сервер недоступен: канал связи будет закрыт.

Возможные причины

Варианты решения

Неправильно заданы параметры SMTP-соединения

Необходимо перепроверить настройки

Брандмауэр блокирует IP-адрес сервера электронной почты

Необходимо создать новое правило в брандмауэре

Блокируется трафик через порт 25

Попробуйте в настройках учетной записи электронной почты сменить номер порта SMTP на 465

Проблема использования VPN

Необходимо, чтобы провайдер услуги занес ваш почтовый сервер в белый список адресов VPN

Данная ошибка возникает наряду с грейлистингом (Greylisting «Серый список») при интенсивном использовании бесплатного SMTP-сервера, который лимитирует количество отправляемых сообщений в единицу времени. Для решения этой проблемы можно воспользоваться высоконагруженным SMTP-сервером. Чаще всего эта услуга является платной.

Получено сообщение с кодом 451

Значение: Requested action aborted: local error in processing. Требуемое действие прерывалось: ошибка в обработке.

Возможные причины

Варианты решения

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

В настройках сервера увеличить лимит или задать ограничение не на количество подключений, а на количество писем на одного пользователя. Накопившуюся очередь писем можно отправить повторно командой «force send»

Неправильно настроены MX-записи домена, из-за чего происходит неправильная маршрутизация писем

Проверьте логи, конфигурационные файлы, МХ-записи и разрешения, внесите корректировки

Устранение проблем с доставкой электронной почты для кода ошибок 451 4.7.500–699 (ASxxx) в Exchange Online. Электронная почта из доменов onmicrosoft.com ограничена и фильтруется для предотвращения спама.

Необходимо добавить настраиваемый домен.

Ошибка почтового сервера 452

Значение: Insufficient system resources. Запрашиваемое действие не выполнено: недостаточно места в системе.

Возможные причины

Варианты решения

На сервере получателя закончилось место, поэтому письмо не доставляется

Чтобы в этом убедиться, достаточно попробовать осуществить отправку письма с другого сервера

В сообщении присутствует текст «Out of memory». Это значит, что недостаточно места на вашем сервере

Необходимо проверить количество отправляемых писем в очереди, наличие свободного места на диске и объем доступной памяти

В Microsoft Exchange Server есть специальный компонент мониторинга доступных ресурсов Back Pressure, который отслеживает свободное место на диске, на котором хранятся очереди транспортной службы Exchange. При возникновении такой ошибки можно сделать следующее:

  • очистить диск от ненужных файлов;
  • отключить мониторинг Back Pressure (не рекомендуется);
  • перенести транспортную очередь на другой диск достаточного объема.

Доставка письма

Сервер сообщил об ошибке SMTP 550

Значение:  Mailbox unavailable. Требуемые действия не предприняты: электронный ящик недоступен

Возможные причины

Варианты решения

Неверно указан email-адрес получателя

Необходимо связаться с адресатом альтернативным способом и уточнить правильность написания адреса, а также убедиться, что он является действующим

Система заражена вирусом, осуществляющим массовую рассылку писем с вашего адреса

Провести полную проверку специализированной антивирусной программой

На стороне вашего интернет-провайдера установлены ограничения на отправку исходящих сообщений

Необходимо связаться с поставщиком интернет-услуг и получить консультацию по устранению данной проблемы

Сервер получателя не работает

Отправьте тестовое письмо на другой почтовый сервер. Свяжитесь с получателем и сообщите о проблеме

Данная ошибка может возникнуть из-за настроек программы Антиспам на стороне получателя. Проверьте корректность оформления вашего письма и другие параметры, по которым ваше сообщение может быть отнесено к нежелательным.

Почтовый сервер ответил ошибкой 571

Значение:  SMTP Protocol Returned a Permanent Error 571 xxx@mail.ru prohibited. We do not relay/Spam message rejected. Ошибка на стороне получателя почты.

Возможные причины

Варианты решения

Ваш IP-адрес заблокирован на стороне конечного получателя спам-фильтром, антивирусом или файрволом

Данную проблему может решить только администратор сети получателя, исключив ваши идентификационный данные из списка блокировки или добавив их в «белый список»

Неверные учетные данные ретранслятора. У вас нет разрешения на отправку электронной почты через сервер, который находится между вами и получателем

Обратитесь к администратору данного ресурса для изменения настроек

У IP отправителя нет RDNS

Проверьте настройки получения писем и разрешения для доменов-отправителей

Как я уже писал выше, разные почтовые серверы накладывают свои ограничения на прием и отправку сообщений. Код 571 в Google Suite расшифровывается следующим образом: «Действующая политика запрещает отправку этого сообщения». Письмо может содержать защищенные или конфиденциальные данные – номера кредитных карт и т.п. Или политика администрирования запрещает отправку определенными пользователями сообщений адресатам вне установленной группы.

Сертификат почтового сервера недействителен

Предупреждение безопасности интернетаОбычно с таким сообщением приходится сталкиваться пользователям, у которых настроен Microsoft Exchange Server/MS Outlook. В данной ситуации самое простое решение – обновить сертификат.

Проверка доступности почтового сервера программным методом

В данной статье описаны лишь некоторые варианты ошибок, которые могут возникнуть при отправке электронных сообщений. Полный перечень достаточно объемен и во многом зависит от настроек конкретного сервера как на стороне отправителя, так и получателя. Некоторые из ошибок могут быть легко устранены обычным пользователем, другие под силу лишь опытным администраторам.

Одним из способов предупреждения появления ошибок является онлайн-проверка доступности почтового сервера с помощью бесплатных инструментов:

  • https://mxtoolbox.com
  • https://www.ultratools.com
  • http://mail2web.com

Эти сервисы пробуют подключиться к почтовому серверу по SMTP, подтверждают, что у него есть запись обратной зоны DNS, и замеряют время отклика. С их помощью можно диагностировать некоторые ошибки службы почтовых серверов или проверить, не занесен ли данный ресурс в черные списки из-за спама.

Прочитав эту статью, обратите внимание на то, как настроен ваш почтовый сервер на получение сторонних писем по SMTP-протоколу. Быть может, в данный момент ваш антиспам или локальная политика фильтрации входящих сообщений блокирует получение очень важного и нужного для вас месседжа? Проверьте сами или обратитесь к системному администратору. Если ошибку с SMTP никак не удается решить, то попробуйте обратиться в службу поддержки почтового сервера.

What’s Causing This Error

This issue for this error is the inability to establish a connection with the email server. Connection issues may vary depending on the scenario. However, there are some common aspects that you may need to validate before proceeding further.

  1. Security Restrictions.
  2. Temporary connection issues.
  3. Invalid client-side settings.
  4. Email hosting provider limitations.

Solution — Here’s How To Resolve It

It is essential to go through the following items while ensuring that each configuration is valid.

  1. Security Restrictions — Some email servers, such as the Exim server, comes pre-built with security restrictions to prevent outbound spamming. These restrictions, however, can also bring about errors when the user is attempting to send a large number of emails for a legitimate reason. Therefore make sure that all default security restrictions do not get in the way of operations.
  2. Temporary connection issues — Ensure that the client has unrestricted access to the email server to establish a connection. One of the most common troubleshooting steps is to check if the email server domain is resolvable from the client. The troubleshooting can move to check for network connectivity issues.
  3. Invalid client-side settings — The email client requires settings for connecting to the email server. These settings can include hostnames, ports, encryption settings, etc. It is essential to make sure that all the configurations made to the client are according to the email server’s compatible settings.
  4. Email hosting provider limitations — Some web hosting providers may impose limitations when using third-party email hosting providers. This tactic forces users to use the hosting provider’s email service rather than a third-party service. It is essential to clarify the limitations and the compatibility recommendations before selecting a hosting provider.

Emails play a crucial role in online businesses. It can be bothersome when emails stop working. You may lose an urgent invite or important notification.

As part of our Support Services, we help website owners configure email services for their businesses and assist server owners to fix email errors.

One such commonly encountered error is “SMTP Error: Could not connect to SMTP host.” Today we’ll see what causes that error and how we fix it.

“Unable to connect to SMTP host.” – When do you see this error?

Majority of the SMB websites run on CMS such as WordPress, Joomla, WHMCS, etc. Most of these CMS software are configured to send emails from them.

These emails can be sent for various purposes – such as order confirmations, invoice delivery, contact form submissions, password resets, account registration and so on.

But due to any issues related to email server or configuration, this mail delivery can fail and give out the error “SMTP Error: Could not connect to SMTP host.”

The same error can present in different forms, such as:

SMTP -> ERROR: Failed to connect to server: (0)

SMTP Error: Could not connect to SMTP host. Message could not be sent.

Mailer Error: SMTP Error: Could not connect to SMTP host.

‘SMTP connect() failed’

What causes the email error “Unable to connect to SMTP host”

A number of reasons can lead to the SMTP connection error. That’s what often perplex the website owners when they see this error.

Here are the main causes we’ve identified in our debugging process.

1. Security restrictions

Exim servers, by default, have some security restrictions to avoid outbound spamming and to protect server IP reputation from blacklists. These restrictions lead to SMTP errors.

The setting in WHM ‘Server Configuration > Tweak Settings > Mail => ‘Restrict outgoing SMTP to root, exim, and mailman (FKA SMTP Tweak)’, blocks outgoing SMTP from website software.

Exim security restrictions

Another setting in WHM that provides the same restriction is, “WHM Home » Security Center » SMTP Restrictions”. This prevents users from bypassing the mail server to send mail.

WHM – SMTP restriction

To further secure mail servers, most servers have firewalls such as CSF, configured in them. Firewall rules can be configured to selectively or fully block connectivity to the SMTP ports.

Many ISPs also block the default SMTP port (25), to avoid spamming attempts. SELinux restriction is another security feature that can cause connection issues to mail server.

Website owners who use gmail as their SMTP server would face further security restrictions imposed by Google. By default, gmail does not allow connections from third party software.

If the option “access for less secure apps” is not enabled in the gmail account, users get the error “Unable to connect to SMTP host” in their websites.

2. Mail server configuration

The SMTP server is often specified as a hostname in the mail settings of the software. A DNS failure or temporary issues can affect the name resolution of the mail server.

In such scenarios, the mailing software will not be able to contact the SMTP server, causing connection errors. If the mail server has another service running on the SMTP port configured, the same issue occurs.

Another issue related to mail server is the lack of support for encryption. If the OpenSSL module is not configured properly or if the PHP extension is not working fine, it will throw errors during SMTP connections.

3. Client side mail settings

To send mails from website software, you need to configure the settings such as SMTP host, port and mail account username and password.

Any configuration mistakes in these settings can cause email errors due to authentication failures and show the message “Unable to connect to SMTP host”.

If the connection is attempted to a different mail server, it will not work. This can happen especially in the cases of website migration from one server to another.

Also, when encryption is not chosen for mail settings, many mail servers can reject the connection attempt and show “Unable to connect to SMTP host” error.

4. Software errors

Many website owners customize their software with plugins that enable them to send mails. Many others have custom code and tweaks done in their CMS.

Due to software updates, feature modifications, plugin issue or other code related bugs, the SMTP authentication support can stop working, giving out SMTP errors in the site.

How we fix the email error “Unable to connect to SMTP host”

To fix the error, we first figure out the cause for it. We examine the software settings, test the connectivity to mail server, and other security restrictions in the server to pinpoint the issue.

Once the cause for the error is identified, we make appropriate fixes such as re-configuring firewall rules and tweaking the security settings, so that mail delivery works fine.

For software updates and installs, we take proper backups and conduct mock installs beforehand, which help us to perform upgrades and fixes in websites without causing any errors.

Conclusion

Email errors are the most commonly encountered issues in servers. Today we saw why “Unable to connect to SMTP host” error happens in websites and how our Support Engineers fix them.

PREVENT YOUR SERVER FROM CRASHING!

Never again lose customers to poor server speed! Let us help you.

Our server experts will monitor & maintain your server 24/7 so that it remains lightning fast and secure.

SEE SERVER ADMIN PLANS

var google_conversion_label = «owonCMyG5nEQ0aD71QM»;

I’ve used PHPMailer on several projects but now I’m stuck. It gives me the error:
SMTP Error: Could not connect to SMTP host.
I’ve tried sending email from Thunderbird and it works ! But not through PHPMailer … Here are the settings from Thunderbird:

Server name: mail.exampleserver.com
Port: 587
Username: user@exampleserver.com
Secure Authentication: No
Connection Security: STARTTLS

I’ve compared these with the server at my last project where I used PHPMailer and they were:

Server name: mail.exampleserver2.com
Port: 465
Username: user@exampleserver2.com
Secure Authentication: No
Connection Security: SSL/TLS

My php code is:

 $mail = new PHPMailer();
 $mail->IsSMTP(); // send via SMTP
 $mail->Host = SMTP_HOST; // SMTP servers
 $mail->Port = SMTP_PORT; // SMTP servers
 $mail->SMTPAuth = true; // turn on SMTP authentication
 $mail->Username = SMTP_USER; // SMTP username
 $mail->Password = SMTP_PASSWORD; // SMTP password
 $mail->From = MAIL_SYSTEM;
 $mail->FromName = MAIL_SYSTEM_NAME;
 $mail->AddAddress($aSecuredGetRequest['email']);
 $mail->IsHTML(true); // send as HTML

Where I am wrong?

asked Aug 13, 2010 at 14:23

Ilian Andreev's user avatar

Ilian AndreevIlian Andreev

1,0813 gold badges12 silver badges18 bronze badges

1

Since this questions shows up high in google, I’d like to share here my solution for the case where PHP was just upgraded to version 5.6 (which has stricter SSL behavior).

The PHPMailer wiki has a section on this:

https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting#php-56-certificate-verification-failure

The suggested workaround is including the following piece of code:

$mail->SMTPOptions = array(
    'ssl' => array(
        'verify_peer' => false,
        'verify_peer_name' => false,
        'allow_self_signed' => true
    )
);

This should work for PHPMailer 5.2.10 (and up).

Note: Obviously, and also as suggested in that wiki, this should be a temporary solution!

The correct fix for this is to replace the invalid, misconfigured or self-signed certificate with a good one.

answered Apr 4, 2016 at 14:32

Marten Koetsier's user avatar

Marten KoetsierMarten Koetsier

3,3892 gold badges26 silver badges36 bronze badges

9

Your problem is most likely this

Connection Security: STARTTLS
Connection Security: SSL/TLS

Those are 2 different protocols, are you using the correct one, whatever one you’re using in Thunderbird needs to be used.

Try setting the variable:

// if you're using SSL
$mail->SMTPSecure = 'ssl';
// OR use TLS
$mail->SMTPSecure = 'tls';

answered Aug 13, 2010 at 15:41

Viper_Sb's user avatar

Viper_SbViper_Sb

1,80914 silver badges18 bronze badges

I had a similar issue and figured out that it was the openssl.cafile configuration directive in php.ini that needed to be set to allow verification of secure peers. You just set it to the location of a certificate authority file like the one you can get at http://curl.haxx.se/docs/caextract.html.

This directive is new as of PHP 5.6 so this caught me off guard when upgrading from PHP 5.5.

answered Jun 16, 2015 at 15:55

Jasper's user avatar

JasperJasper

75.7k14 gold badges151 silver badges146 bronze badges

2

I had the same problem and it was because PHPMailer realized the server supported STARTTLS so it tried to automatically upgrade the connection to an encrypted connection. My mail server is on the same subnet as the web server within my network which is all behind our domain firewalls so I’m not too worried about using encryption (plus the generated emails don’t contain sensitive data anyway).

So what I went ahead and did was change the SMTPAutoTLS to false in the class.phpmailer.php file.

/**
 * Whether to enable TLS encryption automatically if a server supports it,
 * even if `SMTPSecure` is not set to 'tls'.
 * Be aware that in PHP >= 5.6 this requires that the server's certificates are valid.
 * @var boolean
 */
public $SMTPAutoTLS = false;

answered Jan 31, 2017 at 21:26

Sina's user avatar

SinaSina

3594 silver badges9 bronze badges

1

does mail.exampleserver.com exist ??? , if not try the following code (you must have gmail account)

$mail->SMTPSecure = "ssl";  
$mail->Host='smtp.gmail.com';  
$mail->Port='465';   
$mail->Username   = 'you@gmail.com'; // SMTP account username
$mail->Password   = 'your gmail password';  
$mail->SMTPKeepAlive = true;  
$mail->Mailer = "smtp"; 
$mail->IsSMTP(); // telling the class to use SMTP  
$mail->SMTPAuth   = true;                  // enable SMTP authentication  
$mail->CharSet = 'utf-8';  
$mail->SMTPDebug  = 0;   

admdrew's user avatar

admdrew

3,7874 gold badges27 silver badges39 bronze badges

answered Dec 27, 2010 at 16:19

Rami Dabain's user avatar

Rami DabainRami Dabain

4,71912 gold badges62 silver badges106 bronze badges

Followed code worked for me:

$mail = new PHPMailer(true);

$mail->isSMTP();// Set mailer to use SMTP
$mail->CharSet = "utf-8";// set charset to utf8
$mail->SMTPAuth = true;// Enable SMTP authentication
$mail->SMTPSecure = 'tls';// Enable TLS encryption, `ssl` also accepted

$mail->Host = 'smtp.gmail.com';// Specify main and backup SMTP servers
$mail->Port = 587;// TCP port to connect to
$mail->SMTPOptions = array(
    'ssl' => array(
        'verify_peer' => false,
        'verify_peer_name' => false,
        'allow_self_signed' => true
    )
);
$mail->isHTML(true);// Set email format to HTML

$mail->Username = 'Sender Email';// SMTP username
$mail->Password = 'Sender Email Password';// SMTP password

$mail->setFrom('example@mail.com', 'John Smith');//Your application NAME and EMAIL
$mail->Subject = 'Test';//Message subject
$mail->MsgHTML('HTML code');// Message body
$mail->addAddress('User Email', 'User Name');// Target email


$mail->send();

answered Jun 27, 2018 at 13:54

Dumitru Boaghi's user avatar

1

$mail->SMTPDebug = 2; // to see exactly what's the issue

In my case this helped:

$mail->SMTPSecure = false;
$mail->SMTPAutoTLS = false;

answered Jan 28, 2019 at 6:09

Martin Zvarík's user avatar

Well this is really old but I still want to share my solution.
If you are using phpmail with an local server like xampp turn off your antivirus.
That solved it for me :)

answered Jul 22, 2022 at 13:11

Waaal's user avatar

WaaalWaaal

576 bronze badges

Since this is a popular error, check out the PHPMailer Wiki on troubleshooting.

Also this worked for me

$mailer->Port = '587';

answered Apr 20, 2017 at 17:37

Francis Sunday's user avatar

I recently dealt with this problem, and the cause of the problem turned out to be that the root certificate on the SMTP server that I was connecting to was the Sectigo root certificate that recently expired.

If you’re connecting to the SMTP server by SSL/TLS or STARTTLS, and you’ve not changed anything recently in the environment where your PHPMailer script is running, and this problem suddenly occurred — then you might want to check for an expired or invalid certificate somewhere in the certificate chain on the server.

You can view the server’s certificate chain using openssl s_client.

For SSL/TLS on port 465:

openssl s_client -connect server.domain.tld:465 | openssl x509 -text

For STARTTLS on port 587:

openssl s_client -starttls smtp -crlf -connect server.domain.tld:587 | openssl x509 -text

answered Jun 10, 2020 at 18:45

mti2935's user avatar

mti2935mti2935

11.5k3 gold badges29 silver badges33 bronze badges

I had a similar issue. I had installed PHPMailer version 1.72 which is not prepared to manage SSL connections. Upgrading to last version solved the problem.

answered May 22, 2012 at 12:49

David's user avatar

DavidDavid

2,94233 silver badges16 bronze badges

In my case in CPANEL i have ‘Register mail ids’ option where i add my email address and after 30 minutes it works fine with simple php mail function.

answered Feb 7, 2019 at 13:09

Dinesh Gurjar's user avatar

smtp error

SMTP-сервер — это программное обеспечение для отправки электронных писем, использующее SMTP протокол. Напомним, что вообще работа электронной почты обеспечивается с помощью трех протоколов: POP3 или IMAP — для получения писем, SMTP — для отправки.

Передача письма по SMTP происходит с помощью TCP-соединения. Стандартный порт для незащищенного соединения — 25. Однако многие сервисы по умолчанию его блокируют, так как именно на него обычно идет рассылка вирусного спама.

В качестве альтернативных можно прописывать в настройках порты 587 и 2525.

Для защищенного соединения по SSL используется порт 465.

Как работает SMTP-сервер

Функции почтового сервера SMTP сводятся к следующему:

  • определить домен получателя письма и то, совпадает ли он с доменом отправителя;
  • определить IP-адрес сервера SMTP получателя;

  • установить соединение с ним;

  • с помощью серии запросов-ответов передать адреса отправителя и получателя, а также само письмо вместе с заголовками.

Если провести аналогию с обычной почтой, то функции SMTP-сервера можно сравнить с работой почтового отделения, которое проверяет корректность данных получателя на вашем конверте и отправляет письмо по месту назначения. Само письмо почтовое отделение не вскрывает. Сервер SMTP также не проверяет заголовки и содержимое вашего письма, а отправляет его как есть.

Виды почтовых серверов

SMTP-сервер встречается в нескольких вариантах:

  • Бесплатные серверы SMTP. Идут как дополнение к бесплатным почтовым сервисам, таким как Яндекс.Почта, Gmail, Mail.ru и другим. Предназначены в основном для личного использования и не подходят для корпоративных рассылок: есть ограничения на количество отправок, высокий риск попасть под спам-фильтры и т. д.
  • Сервер, предоставляемый интернет-провайдером. Этот вариант SMTP чем-то похож на использование бесплатных почтовых серверов: у вас также будут ограничения на отправку писем и, возможно, на скорость обработки очереди отправки
  • SMTP от хостинга. Обычно достаточно производительный и без ограничений на отправку. Но нужно учитывать, что при массовых рассылках и низком качестве списка получателей есть большой риск попасть под спам-фильтр, причем не только того адреса, с которого ведется рассылка, но и всего домена.
  • Коммерческие серверы SMTP. Предлагаются многими сервисами рассылок. Лучшее решение, если вы рассылаете множество писем, причем как транзакционных, так и рекламных. Обеспечивают быструю и надежную доставку и снижают риск попадания ваших писем в папку «Спам» у получателей.

Ответы SMTP-сервера. Коды успешной или неуспешной обработки запроса

В процессе передачи данных по SMTP ваш сервер отправляет на почтовый сервер получателя запросы, а тот высылает ответы. Ответы содержат трехзначный код, в котором зашифрован результат обработки запроса, и поясняющий текст к нему. Коды ответов могут иметь вид:

  • 2xx. Такой ответ означает, что предыдущая команда была успешно выполнена.
  • 3xx. Коды, начинающиеся на тройку, высылаются на промежуточном этапе передачи, когда сервер ждет остальную часть данных.
  • 4xx. Это коды ошибок, которые могут носить временный характер.
  • 5xx. В эту категорию относятся коды критичных ошибок.

Коды ошибок SMTP, их причины и варианты исправления ситуации

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

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

Ошибка 421

Расшифровка ошибки SMTP 421 — «сервис недоступен». Причиной могут быть:

  • Блокировка трафика на 25 порту. Пропишите в настройках альтернативные порты.

  • Неправильно заданы настройки соединения. Проверьте и исправьте настройки.

  • Ваш антивирус или брандмауер блокирует соединение с сервером SMTP.

Попробуйте отключить программу защиты и отправить письмо. Если ошибка исчезла, значит дело в этом. Добавьте IP-адрес сервера в исключения антивируса или брандмауера.

  • Использование VPN. Встречается достаточно редко, но все же проверьте, отправляется ли письмо, если отключить VPN. Если да, то необходимо обратиться к администраторам VPN-сервиса, чтобы устранить проблему.
  • Вы используете бесплатный сервер SMTP и при этом отправляете много писем. У таких серверов существуют лимиты на отправку в определенный промежуток времени, возможно, вы его превысили. Вам лучше использовать профессиональные платные решения.

  • Грейслистинг (серый список). Это функция защиты от спама. Работает она следующим образом: в ответ на все подозрительные письма, письма с адресов, с которых сообщение приходит впервые, сервер отправляет эту ошибку. Если на стороне отправителя — легитимный SMTP-сервер, а не спамерское ПО, то через некоторое время он отправит письмо еще раз, и уже тогда сервер получателя примет письмо. Спамеры обычно не предпринимают повторных попыток отправки. Предпринимать в этом случае обычно ничего не нужно — если вы пользуетесь надежным сервером, он сам повторит отправку и письмо будет доставлено.

Ошибка 451

Эта ошибка означает, что отправка была прервана в процессе. Возможные причины и пути решения проблемы следующие:

  • На DNS-сервере неправильно прописаны параметры почтового сервера (MX записи). Например, некорректно проставлены предпочтения, если почтовых серверов для домена несколько. Перепроверьте и исправьте записи. Возможно, потребуется также посмотреть логи и файлы конфигурации.
  • Превышены лимиты сервера на отправки или подключения. Проверьте, нет ли подозрительно большого количества отправляемых писем, если все нормально — увеличьте лимиты в настройках.

Ошибка 452

Означает, что либо у вас, либо у получателя закончилось место на машине, где установлен сервер, или не хватает памяти для обработки. Проверьте, есть ли в сообщении упоминание про «memory», и проверьте свою систему. Если у вас все в порядке, обратитесь к получателю.

Ошибка 550

Самый распространенный тип ошибки SMTP. В большинстве случаев возникает, если указан несуществующий email-адрес получателя. Но также возможны следующие причины:

  • Не работает почтовый сервер на стороне адресата. Попробуйте отправить любое письмо на домен, за который отвечает другой почтовый сервер. Если письмо успешно отправлено — значит, проблема не у вас, нужно связаться с адресатом и объяснить ему ситуацию.
  • Неправильно настроены параметры SMTP — перепроверьте настройки.

  • Вы используете сервер провайдера, и у него установлены лимиты на отправку сообщений. Свяжитесь с провайдером, узнайте значения лимитов. При необходимости перейдите на другой тариф или используйте платный SMTP-сервер.

  • Возможно, в вашей сети вирус и с вашего адреса рассылается спам. Проверьте систему с помощью антивирусного ПО.

Ошибка 571

Это ошибка означает, что сервер SMTP получателя не принял ваше письмо. Возможные причины:

  • Ваш IP-адрес заблокирован почтовым сервером адресата. Это может сделать антивирусное ПО, или файервол, или программное обеспечение для защиты от спама. Проблему нужно решать с системным администратором получателя.
  • Ваш email внесен в списки спамеров. Нужно разбираться в причине и предпринимать меры, чтобы его оттуда удалили.

  • У вашего IP нет rDNS записи. Это необходимый параметр, без него ни один почтовый сервер не примет ваше письмо. Для решения проблемы обратитесь к хостинг-провайдеру.

Истек сертификат почтового сервера

Просто обновите сертификат SMTP.

Понравилась статья? Поделить с друзьями:
  • Ошибка smtp не удалось пройти авторизацию joomla
  • Ошибка u0428 nissan
  • Ошибка u0426 фиат добло
  • Ошибка stop bremsen fehler betriebs anleitung
  • Ошибка u0426 ситроен джампер