Я пробовал КАЖДЫЙ один скрипт / код / метод, размещенный на StackOverflow и других сайтах для этого, но без везения. Я хожу на GoDaddy. Я установил учетную запись Google App, настроил все необходимое для записей MX (используя для этого инструмент GoDaddy) и даже попытался отправить некоторые сообщения из интерфейса GMAIL для моего сайта, а также через SMTP в терминале на одном из моих unix машины. Все сработало.
ОДНАКО, когда я пытаюсь использовать PHP, это не так! Похоже, что GoDaddy блокирует его каким-то образом?
Я всегда получаю:
SMTP -> ОШИБКА: Не удалось подключиться к серверу: Соединение отклонено (111) Ошибка SMTP: Не удалось подключиться к узлу SMTP. Ошибка Mailer: ошибка 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>
Благодаря!
Как обсуждалось ранее, GoDaddy, как известно, блокирует исходящие SSL-соединения SSL в пользу принудительного использования собственного исходящего почтового сервера.
Это в значительной степени верхушка айсберга в отношении огромной зависимости от GoDaddy как компании, регистратора и веб-хостинга. Ditch'em.
У меня была та же проблема, и, пройдя через разные сайты, я нашел это, и это действительно сработало!
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/
Я, наконец, исправил это, //$mail->isSMTP();
комментарий к //$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;
Используйте localhost как хост на вашем хостинге сервера goDaddy. Использование следующих портов 25 465 587. Настройки для GoDaddy:
Ответ относится к этой ссылке: PHPMailer GoDaddy Server SMTP Connection Отказано от @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 работает отлично!
К сожалению, вы даже не можете использовать исходящую почтовую службу, такую как DYNDNS, с GoDaddy, они позволяют использовать только сервер ретрансляции. Ограничение.
Единственный вариант, который у них есть, – это использовать домен и использовать свою почтовую службу для отправки почты.
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();
по$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();
Я не поддерживаю Godaddy, потому что они обычно отстой, но это работает для меня. Возможно, они обновили системы.
$mail = new PHPMailer(); // create a new object $mail->IsSMTP(); // enable SMTP $mail->SMTPDebug = 1; // debugging: 1 = errors and messages, 2 = messages only $mail->SMTPAuth = true; // authentication enabled $mail->SMTPSecure = 'tls'; // secure transfer enabled REQUIRED for GMail $mail->Host = "smtp.gmail.com"; $mail->Port = 587; // or 587 or 465 $mail->IsHTML(true); $mail->Username = "stuff@gmail.com"; $mail->Password = "password"; $mail->setFrom('gmail_account@gmail.com', 'Someone's name'); $mail->Subject = $subject; $mail->Body = $body; $mail->AddAddress("gmail_account@gmail.com"); if (!$mail->send()) { echo "Mailer Error: " . $mail->ErrorInfo; return false; } else { return true; } }
О, я тоже хочу всех, меня не волнует ООП !!!
вы можете использовать свой gmail и включить Godaddy Remote Mail Exchanger в Cpanel. Вы должны попросить их сделать это, потому что у вас нет доступа к нему в cpanel
Вот некоторая информация: 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;
Проще. странно вам нужна строка комментариев «// $ mail-> IsSMTP ();». Да, хорошо, его SMTP, но если вы включите эту строку, вы не сможете отправить почту. … не нужно больше конфигурации. Только эта строка комментариев.