Подтвердить что ты не робот

Отключение SMTP-сервера PHPMailer GoDaddy

На днях я столкнулся с некоторыми проблемами с моим размещенным сайтом GoDaddy. Я назвал их техническую поддержку, и человек, с которым я говорил, предположил, что мои проблемы связаны с тем, что я был в ящике Windows и лучше работал в ящике Linux. Не имея мнения по этому поводу, я согласился, и они переключили меня.

После этого перехода моя функциональность PHPMailer покинула меня. У меня это работало месяцами, поэтому я знаю, что мои настройки точны. Я подтвердил с GoDaddy, что учетная запись, которую я пытаюсь отправить, не изменилась с их точки зрения. Никаких изменений с пользовательской стороны (как новый пароль) не производилось. Итог, единственное, что отличается от того, что мой сайт теперь размещен на сервере Linux. Что это.

Поэтому я предполагаю, что мои трудности с PHPMailer должны быть связаны с этим, поскольку это слишком совпадение, что script, который работал в течение нескольких месяцев, терпит неудачу в тот момент, когда происходит переход сервера. Но почему? Я провел час с их технической поддержкой, и они не видят ничего плохого в настройках сервера. Мы проверили мои настройки (просто для удовольствия). Все выглядит хорошо, но когда я отправляю электронное письмо, я получаю эту ошибку:

SMTP -> ERROR: Failed to connect to server: Connection refused (111)SMTP Connect() failed.

Есть много сообщений об этом типе ошибок, и почти все они связаны с людьми, которые впервые настроены, у которых неверно введены настройки или пропущены настройки. Тем не менее, я ЗНАЮ, что мои настройки полны и точны, так как я успешно их использовал в течение нескольких месяцев. Я отправлю их здесь только для полноты:

$mail = new PHPMailer();
$mail->IsSMTP();  //telling the class to use SMTP
$mail->isHTML(true);
$mail->Host         = "smtpout.secureserver.net"; //also tried "relay-hosting.secureserver.net"
$mail->WordWrap     = 50;
$mail->SMTPAuth     = true;
$mail->SMTPSecure   = "ssl";
$mail->Port         = 465;
$mail->Username     = "[email protected]";
$mail->Password     = *******;
$mail->Subject      = "Test Email";
$mail->SMTPDebug = 1;

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

Любая помощь приветствуется. Сообщите мне, есть ли какая-либо другая информация, которую я могу предоставить. Спасибо!

EDIT: Я должен также упомянуть некоторые другие попытки, которые я сделал. Я получаю тот же результат независимо от того, что.

1) TLS с портом 587 2) Без SSL с использованием портов 25, 80 и 3535. 2) Мой собственный адрес gmail, изменяющий сервер, имя пользователя, пароль и т.д.

4b9b3361

Ответ 1

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

Наш сайт использует PHPMailer, и сайт размещен на сервере Linux GoDaddy. Настройки, которые, казалось, были правильными (в соответствии со всем, что я мог найти на SO и сайте поддержки goDaddy), были следующими:

SMTP_SERVER: smtpout.secureserver.net (or alternatively relay-hosting.secureserver.net)
SMTP_PORT: 465 //or 3535 or 80 or 25
SMTP_AUTH: true //always
SMTP_Secure: 'ssl' //only if using port 465

Проведя 6+ часов, пробуя каждый вариант портов (25, 3535, 4655), серверы relay-hosting.secureserver.net, smtpout.secureserver.net: [порт] и т.д.), имена пользователей, пароли и т.д. Я позвонил в goDaddy. Еще через 40 минут выяснилось, что:

1) учетные записи электронной почты "рабочего пространства" удаляются. Это важно, потому что если у вас есть учетная запись электронной почты с goDaddy сегодня, у вас, вероятно, есть учетная запись Workspace. Это, по словам представителя технической поддержки, размещено отдельно от вашей учетной записи linux.

2) goDaddy переходит к учетным записям cPanel. Ура! Расписание? "... в ближайшие 2 - 3 года!"

3) Я перевел наши учетные записи из Workspace в учетные записи cPanel, пока я был на телефоне с репьюром. Действительно легко сделать.

4) После того, как вы изменили учетные записи электронной почты (включая редактирование записей MX) на электронную почту cPanel (по сравнению с электронной почтой "рабочая область" ), соответствующие настройки для электронной почты электронной почты с помощью PHPMailer:

SMTP_SERVER: localhost   //(and I mean literally: "localhost"- in place of smtp.secureserver.net and relay-hosting.secureserver.net, etc.)

... и все остальное (как указано выше) то же самое...

Веб-форма, созданная с помощью PHPMailer, отлично работала после этого изменения!

Используйте свою учетную запись электронной почты cPaneL (имя пользователя) и пароль в настройке PHPMailer, и ваши электронные письма будут работать без проблем!

Добавленный бонус заключается в том, что веб-почта (может кто-нибудь ее использовать больше?) можно получить в [yourdoman]\webmail. Нет более загадочного url, чтобы помнить! И учетные записи будут IMAP или POP!

По общему признанию, это означает, что вы должны использовать учетные записи электронной почты goDaddy cPanel, но получение webform для безупречной работы с PHPMailer было настоящей наградой!

Ответ 2

Я нахожусь на GoDaddy на Linux, как @surfbird0713. По моей 32-й попытке для меня тоже работало следующее:

$mail2->Host = localhost;
//$mail2->SMTPAuth = false;
//$mail2->Username = '[email protected]';
//$mail2->Password = '*******';

//$mail2->SMTPSecure = 'tls';

//$mail2->Port = 465;

Раньше я пытался с именем пользователя, логином, портом и т.д. Когда я прокомментировал все это и просто пошел с localhost, он сработал.

Ответ 3

Я испытываю эту проблему в течение многих недель. Наконец, решил. Во-первых, я должен указать причины проблемы (как я ее испытал). GoDaddy позволяет только выйти из порта 25, 465, 80. Таким образом, вы не можете связаться с сервером SMTP, который не использует ни один из этих 3 портов. Но если вы используете SMTP из GMAIL для примера или любого другого сервера воспроизведения (особенно из Bell Canada, на порту 465), тогда любой запрос на передачу от GoDaddy будет заблокирован - следовательно, вы увидите Connection Refused (111). Да, они являются конкурентами в сервисах хостинга... поэтому сделайте свой собственный вывод о том, когда эта проблема будет решена между ними. Хуже того, когда вы отправляете электронное письмо от relay-hosting.secureserver.net, предоставленное GoDaddy, вы столкнулись с серьезным неудобством длительной очереди, которая может занять пару минут, чтобы получить электронную почту. Хуже того, люди с учетной записью электронной почты Bell Canada (или Bell affiliates) не будут видеть электронную почту с этого сервера ретрансляции - письмо даже не попадет в ваш спам-бокс! Поскольку письмо полностью блокируется Белл (их извинение = слишком много спама от GoDaddy).

Итак, недавно я сделал это, и это сработало хорошо для меня. Если у вас есть служба хостинга с GoDaddy, зарегистрируйте учетную запись электронной почты. Затем, используя эту учетную запись электронной почты, пример [email protected], сделайте это с помощью PHPMail:

$mail = new PHPMailer();
$mail->IsSMTP();
$mail->Host = "smtpout.secureserver.net";
$mail->Username = "[email protected]"; /*Substitute with your real email*/
$mail->Password = "myverylongpassword"; /*Substitute with your real password*/
$mail->SMTPAuth = true;
$mail->Port = 80;

Затем выполните ваши обычные PHP-игры... Это отлично работает для меня. Надеюсь, он сделает то же самое для вас.

Ответ 4

После многих разочарований это также сработало для меня.

include("includes/class.phpmailer.php");

date_default_timezone_set('UTC');

define('SMTP_HOST','relay-hosting.secureserver.net');
define('SMTP_PORT',25);**
define('SMTP_USERNAME','[email protected]');
define('SMTP_PASSWORD','me123');
define('SMTP_AUTH',false);

$email = '[email protected]';
$firstName = 'Aravind';

$mail = new PHPMailerR();
$mail->IsSMTP();
$mail->SMTPDebug = 1;                 
$mail->SMTPAuth = SMTP_AUTH;                
$mail->Host = SMTP_HOST;
$mail->Port = 25;
$mail->Username = SMTP_USERNAME;
$mail->Password = SMTP_PASSWORD;
$mail->SetFrom(SMTP_USERNAME,'AravindNC.IN');
$mail->AddReplyTo(SMTP_USERNAME,"AravindNC.IN");
$mail->Subject = "Welcome to AravindNC.IN";
$mail->AltBody = "To view the message, please use an HTML compatible email viewer!";
$mail->MsgHTML('This is a test.');
$mail->AddAddress($email, 'Aravind NC');
$mail->Send();

?>

Ответ 5

это будут настройки SMTP для GoDaddy:

require("PHPMailer-master/PHPMailerAutoload.php");
$mail = new PHPMailer();
$mail->IsSMTP();
$mail->SMTPDebug  = 2;
$mail->From = "[email protected]";
$mail->FromName = "name";
$mail->Host = "localhost"; 
$mail->SMTPAuth = false; 
$mail->SMTPSecure = false;
$mail->SMTPAutoTLS = false;

Ответ 6

У меня такая же проблема Но я пробовал это

$mail->SMTPAuth = false;

и HOSTNAME: relay-hosting.secureserver.net

И Bingoooooo его работающий

просто выполните эту настройку в SMTP

Ответ 7

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

Я сделал AJAX-вызов email.php, который содержал:

 <?php

require 'PHPMailerAutoload.php';

if ($_POST) {
    $name    = $_POST['contactName'];
    $email   = $_POST['contactEmail'];
    $message = $_POST['contactMessage'];

    /* Don't touch */
    $mail = new PHPMailer();
    $mail->isSMTP();
    $mail->Host        = "relay-hosting.secureserver.net";
    $mail->SMTPAuth    = false;
    $mail->setFrom($email, $name);
    /* end */

    /* Configure the address the email will be sent to */
    $mail->addAddress('[email protected]', 'Adam InTae Gerard');
    $mail->Subject = 'Re: StackChampion Inquest';
    /* This is forwarded through a GoDaddy forwarding account */

    $mail->Body    = $message;

    if (!$mail->send()) {
        echo "Mailer Error: " . $mail->ErrorInfo;
    } else {
        echo "Message sent!";
    }
}
?> 

Я собрал рабочую демонстрацию на GitHub, доступную здесь:

https://github.com/Thoughtscript/wp_postlib_godaddy_php_emailer

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

Надеюсь, что кто-то поможет! Ура!

Ответ 8

Хорошо, я решил это, но не очень хорошо. После исчерпания всего, о чем я мог думать, я просто поднял руки и сказал GoDaddy переключить меня на сервер Windows. Как только они это сделали, проблема исчезла. Поскольку мне все равно, какой тип сервера я включен, этот результат удовлетворительный, но вряд ли удовлетворительный.

Итак, мой совет для любых клиентов GoDaddy, которые считают, что у них PHPMailer настроен правильно, но не может заставить его работать, - выяснить, находитесь ли вы на сервере Linux. Мне кажется, что у GoDaddy установлены серверы Linux, которые блокируют этот тип почтовых транзакций. Я не могу сказать это окончательно, так как я только верю, потому что я не смог заставить его работать. Но я могу ясно сказать, что моя настройка PHPMailer была точной, по крайней мере с Windows.

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

Ответ 9

Измените это:

$mail->Host = 'smtpout.secureserver.net:465';
$mail->SMTPSecure = "ssl";

Для этого:

$mail->Host = 'smtpout.secureserver.net:25';

и это сработало для меня!

Ответ 10

Если на вашем хостинге есть собственный почтовый сервер, ваш почтовый сервер использует следующие порты 25,465,587. Настройки для GoDaddy:

$mail->isSMTP(); 
$mail->Host = localhost; 
$mail->SMTPAuth = true;
$mail->Username = '[email protected]';
$mail->Password = 'password';

//$mail->SMTPSecure = 'tls'; 
//$mail->Port = 587;

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

$mail->isSMTP(); 
$mail->Host = localhost; 
$mail->SMTPAuth = true;
$mail->Username = '[email protected]';
$mail->Password = 'password';

//$mail->SMTPSecure = 'tls'; 
//$mail->Port = 587;

Ответ 11

Обновление за январь 2015 года: мне просто пришлось решить эту проблему. У вас должен быть хостинг GoDaddy linux с учетными записями cPanel:

  • В разделе учетных записей электронной почты рядом с каждым адресом электронной почты в раскрывающемся списке выберите параметр "настроить почтовый клиент".
  • На следующей странице прокрутите вниз до "Ручные настройки". Здесь вы увидите, что GoDaddy теперь создает индивидуальные входящие/исходящие серверы для каждого адреса электронной почты. Поэтому используйте исходящий сервер, SSL, auth: true, порт: 465, адрес электронной почты/пароль.

Надеюсь, что это поможет.

Ответ 12

Согласно Godaddy, замените

$mail->Host = "smtpout.secureserver.net"; //also tried "relay-hosting.secureserver.net"

с

$mail->Host = "smtp.secureserver.net"; //also tried "relay-hosting.secureserver.net"

Это сработало для меня.

Ответ 13

После борьбы с этой проблемой в течение пары дней и ее работы я решил обновить эту тему на 2017 год. Надеюсь, я смогу сэкономить несколько часов впустую. Я принимаю на Godaddy с cpanel. Это была настройка SMTPAutoTLS, в которой я, наконец, столкнулся и попытался, это был недостающий кусок. Ошибка, которую я получал, выглядит следующим образом:

PHP Предупреждение: stream_socket_enable_crypto(): сертификат peer CN = *.prod.iad2.secureserver.net' did not match expected CN= localhost 'в/home/username/public_html/classes/PHPMailer/class.smtp.php в строке 369

Ошибка Mailer: Ошибка SMTP connect(). https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting

Ниже приведены настройки PHPMailer, которые работали для меня.

$mail->isSMTP();
$mail->Host = 'localhost';
$mail->Port = 25;
$mail->SMTPSecure = false;
$mail->SMTPAutoTLS = false;
$mail->SMTPAuth = false;  

Ответ 14

При использовании cPanel и WPForms в WordPress

Что мне помогло - создать адрес электронной почты cPanel и используйте его настройки в разделе "Ручные настройки" либо с помощью SSL или Non SSL

введите описание изображения здесь

Ответ 15

GoDaddy/Linux (cPanel)/PHPMailer

require_once("../include/PHPMailer-master/PHPMailerAutoload.php");

$mail = new PHPMailer();
$mail->isSMTP();
$mail->Host         = "a2plcpnXXXXX.prod.iad2.secureserver.net";
$mail->SMTPDebug    = 2; 
$mail->SMTPAuth     = true;
$mail->Username     = "your username";
$mail->Password     = "your password";
$mail->SMTPSecure   = "tls";
$mail->Port         = 587;

Не стесняйтесь использовать любое электронное имя/имя, которое вы хотите для значений $mail- > От и $mail- > FromName. Надеюсь, это поможет.

Ответ 16

Просто эта проблема возникла, связавшись с GoDaddy, и они переключили мой MX с Local на Remote, и он решил проблему мгновенно! Просто голова для тех, кто все еще испытывает эту проблему.

Ответ 17

Godaddy это кошмар.

Если вы используете старую учетную запись электронной почты рабочего места и не знакомы с cpanel, попробуйте это

require '/home/content/94/8357694/html/SHTECH/server/PHPMailer.php';
use PHPMailer\PHPMailer\PHPMailer;

function sendmail($to,$subject,$message,$name)
{

define('SMTP_HOST','relay-hosting.secureserver.net');
define('SMTP_PORT',25);
define('SMTP_AUTH',true);



              $mail             = new PHPMailer();

              $mail->IsSMTP();
              $mail -> SMTPDebug = 1;
              $mail->Host       = "smtpout.secureserver.net";
              $mail->SMTPAuth   = SMTP_AUTH;
              $mail->Port       = 80;
              $mail->Username   = "[email protected]";
              $mail->Password   = "allen1";
              //$mail->SMTPSecure = 'ssl';
              $mail->SetFrom('[email protected]', 'Cagney');
              $mail->AddReplyTo("[email protected]","Cagney");
              $mail->Subject    = $subject;
              $body             = $message;
              $mail->AltBody    = "To view the message, please use an HTML compatible email viewer!";
              $mail->MsgHTML($body);
              $address = $to;
              $mail->AddAddress($address, $name);
              if(!$mail->Send()) {
                  return 0;
              } else {
                    return 1;
              }




}

Ответ 18

Обновлено 8-25-2019 Для тех, кто ищет ответ, как правильно настроить Rd-Mailform и PHPmailer для Godaddy.

Прежде всего убедитесь, что у вас есть последние файлы с Github.

Во-вторых, это ПРАВИЛЬНЫЕ настройки для электронной почты Cpanel с SMTP и GODaddy

Отредактируйте следующий файл: rd-mailform.config.json (если вы не используете этот файл, то жесткий код в rd-mailform.php)

Файл для редактирования: rd-mailform.config.json

~~~
 "useSmtp": false,
 "host": "localhost",              
 "port": 25,                                                     
 "username": "[email protected]",                   
 "password": "yourpasswordforthataccount",                       
 "recipientEmail":  "youremailaddress"  
~~~ 

Теперь, после того, как вы это отредактируете, откройте rd-mailform.php и отредактируйте следующие строки: // Использовать ли аутентификацию SMTP

            $mail->SMTPAuth = false;
            $mail->SMTPAutoTLS = false; 
            $mail->SMTPSecure = "tls";

Это должно работать на всех серверах Godaddy, использующих rd-mailform с phpmailer

-D

Ответ 19

Отключено соединение SMTP GoDaddy Server.

Bigrock $ mail- > Port = 587;//SMTP ser * vers

GoDaddy $ mail- > Port = 25;//SMTP ser * vers