PHP на GoDaddy Linux Shared пытается отправить через SMTP GMAIL - PullRequest
8 голосов
/ 26 марта 2011

Я пробовал КАЖДЫЙ отдельный скрипт / код / ​​метод, размещенный на StackOverflow и других сайтах для этого, но безуспешно. Я хостинг на GoDaddy. Я настроил учетную запись Google App, настроил все необходимое для MX Records (для этого использовал инструмент GoDaddy) и даже попытался отправить некоторые электронные письма из интерфейса GMAIL для моего сайта, а также через SMTP-терминал в одном из моих Unix машины. Все заработало.

ОДНАКО, когда я пытаюсь использовать PHP, это не так! Это как GoDaddy как-то его блокирует?

Я всегда получаю:

SMTP -> ОШИБКА: не удалось подключиться к сервер: соединение отказано (111) SMTP Ошибка: не удалось подключиться к узлу SMTP. Ошибка почтовой программы: ошибка SMTP: не удалось подключиться к узлу SMTP.

Вот код, который я использую для PHPMailer:

<html>
    <head>
        <title>PHPMailer - SMTP (Gmail) advanced test</title>
    </head>
    <body>
    <?php
    require_once('../class.phpmailer.php');
    //include("class.smtp.php"); // optional, gets called from within class.phpmailer.php if not already loaded

    $mail = new PHPMailer(true); // the true param means it will throw exceptions on errors, which we need to catch

    $mail->IsSMTP(); // telling the class to use SMTP

    try {
        $mail->Host       = "smtp.gmail.com"; // SMTP server
        $mail->SMTPDebug  = 2;                     // enables SMTP debug information (for testing)
        $mail->SMTPAuth   = true;                  // enable SMTP authentication
        $mail->SMTPSecure = "ssl";                 // sets the prefix to the servier
        $mail->Host       = "smtp.gmail.com";      // sets GMAIL as the SMTP server
        $mail->Port       = 465;                   // set the SMTP port for the GMAIL server
        $mail->Username   = "MYFROMADDRESSHERE";  // GMAIL username
        $mail->Password   = "MYFROMPASSWORDHERE";            // GMAIL password
        $mail->AddReplyTo('MYFROMADDRESSHERE', 'Sender Name');
        $mail->AddAddress('TESTTOADDRESSHERE', 'Recipient Name');
        $mail->SetFrom('MYFROMADDRESSHERE', 'Sender Name');
        $mail->AddReplyTo('MYFROMADDRESSHERE', 'Sender Name');
        $mail->Subject = 'PHPMailer Test Subject via mail(), advanced';
        $mail->AltBody = 'To view the message, please use an HTML compatible email viewer!'; // optional - MsgHTML will create an alternate automatically
        $mail->MsgHTML(file_get_contents('contents.html'));
        $mail->AddAttachment('images/phpmailer.gif');      // attachment
        $mail->AddAttachment('images/phpmailer_mini.gif'); // attachment
        $mail->Send();
        echo "Message Sent OK</p>\n";
    } catch (phpmailerException $e) {
        echo $e->errorMessage(); //Pretty error messages from PHPMailer
    } catch (Exception $e) {
        echo $e->getMessage(); //Boring error messages from anything else!
    }
    ?>
</html>

Спасибо!

Ответы [ 11 ]

22 голосов
/ 26 марта 2011

Как обсуждалось ранее, GoDaddy, как известно, блокирует исходящие SMTP-соединения SSL в пользу принуждения вас использовать собственный сервер исходящей почты.

Это в значительной степени подсказкаАйсберг, в связи с огромным количеством GoDaddy как компании, регистратора и веб-хостинга.Ditch'em.

7 голосов
/ 15 октября 2013

У меня была та же проблема, и, пройдя по разным сайтам, я нашел этот и он действительно работал!

GoDaddy позволяет отправлять электронные письма, используя Gmail в качестве SMTP, просто нужно избавиться от smtp.gmail.com и использовать вместо этого их хост. Это моя установка:

$mail = new PHPMailer();
$mail->isSMTP();
$mail->Host = "relay-hosting.secureserver.net";
$mail->Username = "your-account@gmail.com";
$mail->Password = "yourpassword";
// ...
// send from, send to, body, etc...

Ссылка (см. Первые два сообщения) http://support.godaddy.com/groups/web-hosting/forum/topic/phpmailer-with-godaddy-smtp-email-server-script-working/

4 голосов
/ 27 января 2016

Я наконец исправил это, поместив комментарий в строку //$mail->isSMTP();. После этого моя учетная запись Gmail начала нормально работать в Godaddy.

require 'PHPMailer/class.phpmailer.php';
require 'PHPMailer/PHPMailerAutoload.php';


$mail = new PHPMailer;


 $name = $_POST['name'];
    $email = $_POST['email'];
    $message = $_POST['message'];
    $subject = 'Your subject';

    $body = "From: $name\n E-Mail: $email\n Comments:\n $message";


//$mail->isSMTP();
$mail->Host = 'smtp.gmail.com';
$mail->SMTPAuth = true;
$mail->Username = 'xxxxxxxxxxxx@gmail.com';
$mail->Password = 'xxxxxxxxx';
$mail->SMTPSecure = 'tls';
$mail->Port =587;
2 голосов
/ 27 сентября 2016

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

Ответ относится к этой ссылке: PHPMailer Соединение SMTP с GoDaddy Server отклонено @Nate Bryam

 $this->mail->Host = 'localhost';  
    //$this->mail->SMTPAuth = true;                               
    //$this->mail->Username = 'xxx@gmail.com';            
    //$this->mail->Password = 'xxx';                      
    //$this->mail->SMTPSecure = 'ssl';                           
    //$this->mail->Port = 465;//25;//587; 

Нет необходимости SMTP Auth.Itработает отлично!

1 голос
/ 02 июня 2015

require_once ( 'PHPMailerAutoload.php');

                    $mail = new PHPMailer();
                    $mail->isSMTP();
                    $mail->Host = "relay-hosting.secureserver.net";
                    $mail->Username = 'chandana@gmail.com';
                    $mail->Password = 'fwxnorhqttkxydr';
                    $mail->SetFrom($email);
                    $mail->Subject = 'enquiry from YnRack site';
                    $mail->Body = 'enquiry from YnRack site' . $message . '"From: \"' . $name . $email;
                    $mail->IsHTML(true);
                    $mail->AddAddress('chandana@gmail.com');
                    $mail->Send();
1 голос
/ 14 июня 2012

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

1 голос
/ 05 мая 2011

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

0 голосов
/ 19 января 2016

проще.странно, вам нужна строка комментария "// $ mail-> IsSMTP ();".Да, хорошо, это SMTP, но если вы включите эту строку, вы не сможете отправлять почту.... не нужно больше конфигурации.Только эта строка комментария.

0 голосов
/ 18 марта 2015

Вот некоторая информация: http://aravindisonline.blogspot.in/2012/01/phpmailer-with-godaddy-smtp-email.html

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

$mail->Host = "relay-hosting.secureserver.net";
//Set the SMTP port number - likely to be 25, 465 or 587
$mail->SMTPSecure = 'tsl';
$mail->Port = 25;
//Whether to use SMTP authentication
$mail->SMTPAuth = false;
0 голосов
/ 13 ноября 2014

вы можете использовать свой gmail и разрешить Godaddy включить удаленный почтовый обменник в Cpanel.Вы должны попросить их сделать это, потому что у вас нет доступа к нему в cpanel

...