Меню

Ошибка подключения к smtp серверу сообщение не было отправлено

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.

Am trying to send mail to a gmail address but it keeps on getting this error «SMTP -> ERROR: Failed to connect to server: Connection timed out (110)SMTP Connect() failed. Message was not sent.Mailer error: SMTP Connect() failed.» What could be the problem?

        require 'class.phpmailer.php'; // path to the PHPMailer class
        require 'class.smtp.php';

            $mail = new PHPMailer();


            $mail->IsSMTP();  // telling the class to use SMTP
            $mail->SMTPDebug = 2;
            $mail->Mailer = "smtp";
            $mail->Host = "ssl://smtp.gmail.com";
            $mail->Port = 587;
            $mail->SMTPAuth = true; // turn on SMTP authentication
            $mail->Username = "myemail@gmail.com"; // SMTP username
            $mail->Password = "mypasswword"; // SMTP password 
            $Mail->Priority = 1;

            $mail->AddAddress("myemail@gmail.com","Name");
            $mail->SetFrom($visitor_email, $name);
            $mail->AddReplyTo($visitor_email,$name);

            $mail->Subject  = "Message from  Contact form";
            $mail->Body     = $user_message;
            $mail->WordWrap = 50;  

            if(!$mail->Send()) {
            echo 'Message was not sent.';
            echo 'Mailer error: ' . $mail->ErrorInfo;
            } else {
            echo 'Message has been sent.';
            }

AnFi's user avatar

AnFi

10.3k3 gold badges22 silver badges46 bronze badges

asked Aug 28, 2013 at 19:29

Muli's user avatar

4

Remove or comment out the line-

$mail->IsSMTP();

And it will work for you.

I have checked and experimented many answers from different sites but haven’t got any solution except the above solution.

dario's user avatar

dario

5,11912 gold badges27 silver badges32 bronze badges

answered Aug 10, 2015 at 12:51

Snehasis's user avatar

SnehasisSnehasis

9156 silver badges10 bronze badges

17

You must to have installed php_openssl.dll, if you use wampserver it’s pretty easy, search and apply the extension for PHP.

In the example change this:

    //Set the hostname of the mail server
    $mail->Host = 'smtp.gmail.com';

    //Set the SMTP port number - 587 for authenticated TLS, a.k.a. RFC4409 SMTP submission 465 ssl
    $mail->Port = 465;

    //Set the encryption system to use - ssl (deprecated) or tls
    $mail->SMTPSecure = 'ssl';

and then you recived an email from gmail talking about to enable the option to Less Safe Access Applications
here https://www.google.com/settings/security/lesssecureapps

I recommend you change the password and encrypt it constantly

answered Oct 8, 2014 at 2:03

El David's user avatar

El DavidEl David

5967 silver badges16 bronze badges

2

You’ve got no SMTPSecure setting to define the type of authentication being used, and you’re running the Host setting with the unnecessary ‘ssl://’ (PS — ssl is over port 465, if you need to run it over ssl instead, see the accepted answer here. Here’s the lines to add/change:

+ $mail->SMTPSecure = 'tls';

- $mail->Host = "ssl://smtp.gmail.com";
+ $mail->Host = "smtp.gmail.com";

Community's user avatar

answered Aug 29, 2013 at 20:58

Dmitri DB's user avatar

Dmitri DBDmitri DB

3173 silver badges15 bronze badges

4

Are you running on Localhost? and have you edit the php.ini ?

If not yet, try this:
1. Open xampp->php->php.ini
2. Search for extension=php_openssl.dll
3. The initial will look like this ;extension=php_openssl.dll
4. Remove the ‘;’ and it will look like this extension=php_openssl.dll
5. If you can’t find the extension=php_openssl.dll, add this line extension=php_openssl.dll.
6. Then restart your Xampp.

Goodluck 😉

answered Jan 11, 2014 at 4:03

Sendoh Akira's user avatar

1

I know its been a while since this question but I had the exact problem and solved it by disabling SMTP_BLOCK on csf.conf (we use CSF for a firewall).

To disable just edit csf.conf and disable SMTP_BLOCK like so:

###############################################################################
# SECTION:SMTP Settings
###############################################################################
# Block outgoing SMTP except for root, exim and mailman (forces scripts/users
# to use the exim/sendmail binary instead of sockets access). This replaces the
# protection as WHM > Tweak Settings > SMTP Tweaks
#
# This option uses the iptables ipt_owner/xt_owner module and must be loaded
# for it to work. It may not be available on some VPS platforms
#
# Note: Run /etc/csf/csftest.pl to check whether this option will function on
# this server
# SMTP_BLOCK = "1" --> this will cause phpmailer Connection timed out (110)
SMTP_BLOCK = "0"

answered Jan 23, 2016 at 20:32

Goldbug's user avatar

GoldbugGoldbug

6076 silver badges8 bronze badges

1

i’ve had this problem in tell i recive an email from google telling me that someone try to login to your account is it you and i answer yes then it start workin so if this is the case for you look in your email and allow the server

answered Jul 16, 2016 at 12:59

user5778000's user avatar

2

Login your Google account at myaccount.google.com/security go to «Login» and then «Security», scroll to bottom then enable the «Allow less secure apps» option.

Daniel's user avatar

Daniel

1,23914 silver badges24 bronze badges

answered Dec 27, 2016 at 22:07

Hieu - 7347514's user avatar

Here is a list of this you should look into when dealing with PHPMailer:

  1. Enable openSSL by un-commenting extension=php_openssl.dll in your PHP.ini
  2. Use $mail->SMTPSecure = 'tls'; and $mail->Port = 587;
  3. Enable debugging for if you are going wrong somewhere else like incorrect username and password etc.

answered May 14, 2015 at 7:02

KKK's user avatar

KKKKKK

3,1195 gold badges34 silver badges58 bronze badges

You are doing all well. Just you have to check different SMTP ports like 465 and others that works on your system.
Another thing to keep in mind to allow access to the less secure apps by google account otherwise it throws the same error.
I have gone through it for a whole day and the only thing I am doing wrong is the port no., I just changed the port no. and it works.

answered Mar 7, 2017 at 13:59

Deepak Kumar's user avatar

Deepak KumarDeepak Kumar

6621 gold badge8 silver badges22 bronze badges

Mailjet

SMTP SETTINGS

Port: 25 or 587 (some providers block port 25)

I work by changing the port after deploying the app to the server.

  • In Debug it worked for me: $mail->Port = 25;
  • In Release it worked for me: $mail->Port = 587;

GL

answered Dec 19, 2018 at 2:13

Braian Coronel's user avatar

Braian CoronelBraian Coronel

21.6k4 gold badges53 silver badges58 bronze badges

To get it working, I had to go to myaccount.google.com -> «connected apps & sites», and turn «Allow less secure apps» to «ON» (near the bottom of the page).

answered Aug 1, 2017 at 9:19

Akif Hussain Sayyed's user avatar

If it works on your localhost but not on your web host:

Some hosting sites block certain outbound SMTP ports. Commenting out the line $mail->IsSMTP(); as noted in the accepted answer may make it work, but it is simply disabling your SMTP configuration, and using the hosting site’s email config.

If you are using GoDaddy, there is no way to send mail using a different SMTP. I was using SiteGround, and found that they were allowing SMTP access from ports 25 and 465 only, with an SSL encryption type, so I would look up documentation for your host and go from there.

answered Apr 6, 2018 at 22:06

Stephanie's user avatar

StephanieStephanie

1332 silver badges7 bronze badges

        <?php
    require 'PHPMailer/PHPMailerAutoload.php';
    
    $mail = new PHPMailer();
    
    $mail->SMTPDebug = 0;                               // Enable verbose debug output
    
    
    $mail->Host = 'smtp.gmail.com';  // Specify main and backup SMTP servers
    $mail->IsSMTP();
    $mail->SMTPAuth = true;                               // Enable SMTP authentication
    $mail->Username = 'mail@gmail.com';                 // SMTP username
    $mail->Password = 'your pass';                           // SMTP password
    $mail->SMTPSecure = 'tls';                            // Enable TLS encryption, `ssl` also accepted
    $mail->Port = 587;                                    // TCP port to connect to
    $mail->setFrom('mail@gmail.com');
    $mail->addAddress('mail@gmail.com');               // Name is optional
    
    
    $mail->isHTML(true);                                  // Set email format to HTML
    
    $mail->Subject = 'Here is the subject';
    $mail->Body    = 'This is the HTML message body <b>in bold!</b>';
    $mail->AltBody = 'This is the body in plain text for non-HTML mail clients';
    
    if(!$mail->send()) {
        echo 'Message could not be sent.';
        echo 'Mailer Error: ' . $mail->ErrorInfo;
    } else {
        echo 'Message has been sent';
    }
    
  ?>

THIS WORK FOR ME JUST WHEN YOU WANT TO TEST
DON’T USE IDE FOR TESTING THAT BECAUSE PROBABLY NOT WORK IF YOU IN LOCALHOST USE localhost/yourfile.php

answered Mar 17, 2021 at 16:56

MAX's user avatar

the solution is configure the gmail preferences, access to no secure application

CSchulz's user avatar

CSchulz

10.7k10 gold badges59 silver badges112 bronze badges

answered Jun 6, 2016 at 3:12

marcelo's user avatar

0

Am trying to send mail to a gmail address but it keeps on getting this error «SMTP -> ERROR: Failed to connect to server: Connection timed out (110)SMTP Connect() failed. Message was not sent.Mailer error: SMTP Connect() failed.» What could be the problem?

        require 'class.phpmailer.php'; // path to the PHPMailer class
        require 'class.smtp.php';

            $mail = new PHPMailer();


            $mail->IsSMTP();  // telling the class to use SMTP
            $mail->SMTPDebug = 2;
            $mail->Mailer = "smtp";
            $mail->Host = "ssl://smtp.gmail.com";
            $mail->Port = 587;
            $mail->SMTPAuth = true; // turn on SMTP authentication
            $mail->Username = "myemail@gmail.com"; // SMTP username
            $mail->Password = "mypasswword"; // SMTP password 
            $Mail->Priority = 1;

            $mail->AddAddress("myemail@gmail.com","Name");
            $mail->SetFrom($visitor_email, $name);
            $mail->AddReplyTo($visitor_email,$name);

            $mail->Subject  = "Message from  Contact form";
            $mail->Body     = $user_message;
            $mail->WordWrap = 50;  

            if(!$mail->Send()) {
            echo 'Message was not sent.';
            echo 'Mailer error: ' . $mail->ErrorInfo;
            } else {
            echo 'Message has been sent.';
            }

AnFi's user avatar

AnFi

10.3k3 gold badges22 silver badges46 bronze badges

asked Aug 28, 2013 at 19:29

Muli's user avatar

4

Remove or comment out the line-

$mail->IsSMTP();

And it will work for you.

I have checked and experimented many answers from different sites but haven’t got any solution except the above solution.

dario's user avatar

dario

5,11912 gold badges27 silver badges32 bronze badges

answered Aug 10, 2015 at 12:51

Snehasis's user avatar

SnehasisSnehasis

9156 silver badges10 bronze badges

17

You must to have installed php_openssl.dll, if you use wampserver it’s pretty easy, search and apply the extension for PHP.

In the example change this:

    //Set the hostname of the mail server
    $mail->Host = 'smtp.gmail.com';

    //Set the SMTP port number - 587 for authenticated TLS, a.k.a. RFC4409 SMTP submission 465 ssl
    $mail->Port = 465;

    //Set the encryption system to use - ssl (deprecated) or tls
    $mail->SMTPSecure = 'ssl';

and then you recived an email from gmail talking about to enable the option to Less Safe Access Applications
here https://www.google.com/settings/security/lesssecureapps

I recommend you change the password and encrypt it constantly

answered Oct 8, 2014 at 2:03

El David's user avatar

El DavidEl David

5967 silver badges16 bronze badges

2

You’ve got no SMTPSecure setting to define the type of authentication being used, and you’re running the Host setting with the unnecessary ‘ssl://’ (PS — ssl is over port 465, if you need to run it over ssl instead, see the accepted answer here. Here’s the lines to add/change:

+ $mail->SMTPSecure = 'tls';

- $mail->Host = "ssl://smtp.gmail.com";
+ $mail->Host = "smtp.gmail.com";

Community's user avatar

answered Aug 29, 2013 at 20:58

Dmitri DB's user avatar

Dmitri DBDmitri DB

3173 silver badges15 bronze badges

4

Are you running on Localhost? and have you edit the php.ini ?

If not yet, try this:
1. Open xampp->php->php.ini
2. Search for extension=php_openssl.dll
3. The initial will look like this ;extension=php_openssl.dll
4. Remove the ‘;’ and it will look like this extension=php_openssl.dll
5. If you can’t find the extension=php_openssl.dll, add this line extension=php_openssl.dll.
6. Then restart your Xampp.

Goodluck 😉

answered Jan 11, 2014 at 4:03

Sendoh Akira's user avatar

1

I know its been a while since this question but I had the exact problem and solved it by disabling SMTP_BLOCK on csf.conf (we use CSF for a firewall).

To disable just edit csf.conf and disable SMTP_BLOCK like so:

###############################################################################
# SECTION:SMTP Settings
###############################################################################
# Block outgoing SMTP except for root, exim and mailman (forces scripts/users
# to use the exim/sendmail binary instead of sockets access). This replaces the
# protection as WHM > Tweak Settings > SMTP Tweaks
#
# This option uses the iptables ipt_owner/xt_owner module and must be loaded
# for it to work. It may not be available on some VPS platforms
#
# Note: Run /etc/csf/csftest.pl to check whether this option will function on
# this server
# SMTP_BLOCK = "1" --> this will cause phpmailer Connection timed out (110)
SMTP_BLOCK = "0"

answered Jan 23, 2016 at 20:32

Goldbug's user avatar

GoldbugGoldbug

6076 silver badges8 bronze badges

1

i’ve had this problem in tell i recive an email from google telling me that someone try to login to your account is it you and i answer yes then it start workin so if this is the case for you look in your email and allow the server

answered Jul 16, 2016 at 12:59

user5778000's user avatar

2

Login your Google account at myaccount.google.com/security go to «Login» and then «Security», scroll to bottom then enable the «Allow less secure apps» option.

Daniel's user avatar

Daniel

1,23914 silver badges24 bronze badges

answered Dec 27, 2016 at 22:07

Hieu - 7347514's user avatar

Here is a list of this you should look into when dealing with PHPMailer:

  1. Enable openSSL by un-commenting extension=php_openssl.dll in your PHP.ini
  2. Use $mail->SMTPSecure = 'tls'; and $mail->Port = 587;
  3. Enable debugging for if you are going wrong somewhere else like incorrect username and password etc.

answered May 14, 2015 at 7:02

KKK's user avatar

KKKKKK

3,1195 gold badges34 silver badges58 bronze badges

You are doing all well. Just you have to check different SMTP ports like 465 and others that works on your system.
Another thing to keep in mind to allow access to the less secure apps by google account otherwise it throws the same error.
I have gone through it for a whole day and the only thing I am doing wrong is the port no., I just changed the port no. and it works.

answered Mar 7, 2017 at 13:59

Deepak Kumar's user avatar

Deepak KumarDeepak Kumar

6621 gold badge8 silver badges22 bronze badges

Mailjet

SMTP SETTINGS

Port: 25 or 587 (some providers block port 25)

I work by changing the port after deploying the app to the server.

  • In Debug it worked for me: $mail->Port = 25;
  • In Release it worked for me: $mail->Port = 587;

GL

answered Dec 19, 2018 at 2:13

Braian Coronel's user avatar

Braian CoronelBraian Coronel

21.6k4 gold badges53 silver badges58 bronze badges

To get it working, I had to go to myaccount.google.com -> «connected apps & sites», and turn «Allow less secure apps» to «ON» (near the bottom of the page).

answered Aug 1, 2017 at 9:19

Akif Hussain Sayyed's user avatar

If it works on your localhost but not on your web host:

Some hosting sites block certain outbound SMTP ports. Commenting out the line $mail->IsSMTP(); as noted in the accepted answer may make it work, but it is simply disabling your SMTP configuration, and using the hosting site’s email config.

If you are using GoDaddy, there is no way to send mail using a different SMTP. I was using SiteGround, and found that they were allowing SMTP access from ports 25 and 465 only, with an SSL encryption type, so I would look up documentation for your host and go from there.

answered Apr 6, 2018 at 22:06

Stephanie's user avatar

StephanieStephanie

1332 silver badges7 bronze badges

        <?php
    require 'PHPMailer/PHPMailerAutoload.php';
    
    $mail = new PHPMailer();
    
    $mail->SMTPDebug = 0;                               // Enable verbose debug output
    
    
    $mail->Host = 'smtp.gmail.com';  // Specify main and backup SMTP servers
    $mail->IsSMTP();
    $mail->SMTPAuth = true;                               // Enable SMTP authentication
    $mail->Username = 'mail@gmail.com';                 // SMTP username
    $mail->Password = 'your pass';                           // SMTP password
    $mail->SMTPSecure = 'tls';                            // Enable TLS encryption, `ssl` also accepted
    $mail->Port = 587;                                    // TCP port to connect to
    $mail->setFrom('mail@gmail.com');
    $mail->addAddress('mail@gmail.com');               // Name is optional
    
    
    $mail->isHTML(true);                                  // Set email format to HTML
    
    $mail->Subject = 'Here is the subject';
    $mail->Body    = 'This is the HTML message body <b>in bold!</b>';
    $mail->AltBody = 'This is the body in plain text for non-HTML mail clients';
    
    if(!$mail->send()) {
        echo 'Message could not be sent.';
        echo 'Mailer Error: ' . $mail->ErrorInfo;
    } else {
        echo 'Message has been sent';
    }
    
  ?>

THIS WORK FOR ME JUST WHEN YOU WANT TO TEST
DON’T USE IDE FOR TESTING THAT BECAUSE PROBABLY NOT WORK IF YOU IN LOCALHOST USE localhost/yourfile.php

answered Mar 17, 2021 at 16:56

MAX's user avatar

the solution is configure the gmail preferences, access to no secure application

CSchulz's user avatar

CSchulz

10.7k10 gold badges59 silver badges112 bronze badges

answered Jun 6, 2016 at 3:12

marcelo's user avatar

0

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

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

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

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

Для чего используется SMTP-аутентификация?

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

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

Нужна ли мне аутентификация SMTP?

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

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

Как аутентифицировать мой SMTP-сервер?

  • Откройте Gmail, щелкните значок шестеренки вверху и выберите «Все настройки».
  • Перейдите в «Учетные записи и импорт» и нажмите «Добавить другой адрес электронной почты».

  • Введите свое имя и адрес электронной почты и снимите флажок Считать псевдонимом.

  • На следующем экране введите SMTP-сервер, указанный в электронном письме с подтверждением AuthSMTP, введите имя пользователя и пароль AuthSMTP, проверьте защищенное соединение с использованием TLS и нажмите «Добавить учетную запись».

  • Теперь вы получите электронное письмо с кодом подтверждения. Введите код и нажмите «Подтвердить».

  • И это сделано! Теперь вы успешно аутентифицировали свой SMTP-сервер. Новая учетная запись отправителя указана в разделе «Отправить почту».

Как исправить ошибку аутентификации SMTP?

1. Проверьте свои учетные данные электронной почты

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

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

2. Проверьте, не отключен ли ваш аккаунт

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

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

3. Проверьте, не отключено ли SMTP-соединение вашим поставщиком услуг электронной почты.

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

На каких платформах может возникать ошибка аутентификации SMTP и как ее исправить?

Ниже приведен список всех платформ, на которых возникает ошибка проверки подлинности SMTP при сканировании на электронную почту, и способы их устранения:

  • Ошибка проверки подлинности SMTP в Office 365: снимите флажок Проверка подлинности SMTP в Office 365, а затем снова включите ее. Подождите 10 минут, чтобы изменения вступили в силу.
  • Ошибка аутентификации SMTP в Outlook: наиболее вероятная причина — неправильная конфигурация SMTP. Следовательно, в большинстве случаев проверка конфигурации может решить эту проблему.
  • Ошибка аутентификации SMTP в Gmail. Эта проблема может возникнуть при подключении почтового ящика для входящей почты или при отправке исходящей почты с использованием внешнего SMTP. Проверьте, правильно ли вы ввели пароль и активировали ли двухфакторную аутентификацию.
  • Ошибка аутентификации SMTP в Python: Google предотвращает попытки входа из приложений, которые не соответствуют современным требованиям безопасности. Рассмотрите возможность входа через браузер и повторите попытку запуска кода, если вы можете получить доступ к своей учетной записи.
  • Ошибка проверки подлинности SMTP на принтере Canon. Это может произойти, если учетная запись, которую вы используете для подключения к SMTP-серверу, не имеет права на отправку в качестве адреса электронной почты, указанного в качестве отправителя.
  • Ошибка аутентификации SMTP в Jotform: убедитесь, что в вашей учетной записи Office 365 включен SMTP. Вы можете подтвердить это у своего поставщика услуг или использовать инструмент проверки, чтобы убедиться, что SMTP работает правильно.

Вот как вы можете исправить ошибку аутентификации SMTP при входе в систему вашего поставщика услуг электронной почты.

Если методы устранения неполадок не помогли решить эту ошибку, это может быть проблема с портом SMTP. Будьте уверены, наш гид поможет вам это исправить.

Если у вас все еще есть какие-либо проблемы, не стесняйтесь оставлять комментарии ниже. Мы хотим услышать от вас.


0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии

А вот еще интересные материалы:

  • Яшка сломя голову остановился исправьте ошибки
  • Ясность цели позволяет целеустремленно добиваться намеченного исправьте ошибки
  • Ясность цели позволяет целеустремленно добиваться намеченного где ошибка
  • Ошибка подключения к smtp серверу smtp error could not authenticate
  • Ошибка подключения к серверу 110 imap bitrix