2014-03-20 5 views
1

у меня было полностью работать раньше, но я переустановил Ubuntu 13.10 на моем сервере, и теперь он не работает, мой код выглядит следующим образом:Брус отправить почту с PHPMailer

require 'php/PHPMailer/PHPMailerAutoload.php'; 


$mail = new PHPMailer(); 

$mail->isSMTP(); 
$mail->SMTPDebug = 2; 
$mail->Debugoutput = 'html'; 
$mail->Host = 'smtp.gmail.com'; 
$mail->Port = 587; 
$mail->SMTPSecure = 'tls'; 
$mail->SMTPAuth = true; 
$mail->Username = '[email protected]'; 
$mail->Password = 'pass'; 
$mail->setFrom('[email protected]', 'First Last'); 
$mail->addAddress('[email protected]', 'Random person'); 
$mail->Subject = 'PHPMailer GMail SMTP test'; 
$mail->msgHTML('prueba'); 

//send the message, check for errors 
if (!$mail->send()) { 
    echo 'Mailer Error: ' . $mail->ErrorInfo; 
} else { 
    echo "Message sent!"; 
} 

почта, mail2 и передача только safewords , они являются действительными адресами и паролем.

OpenSSL установлен и работает с временным сертификатом.

Любые идеи о том, почему он не работает сейчас после перезагрузки Ubuntu 13.10?

Забыла сказать, ошибка Im получаю сейчас:

SMTP ОШИБКА: Не удалось подключиться к серверу: php_network_getaddresses: getaddrinfo не удалось: Имя или служба не известны (0) SMTP подключения() не удалось. Ошибка Mailer: Ошибка SMTP connect().

ответ

0

Это, скорее всего, настройка брандмауэра в Ubuntu ... Попробуйте использовать SSL вместо или следовать инструкциям ниже для дальнейшего расследования ...

$mail->SMTPSecure = 'ssl'; 
$mail->Host  = "smtp.gmail.com"; 
$mail->Port  = 465; 

Проблема означает, что вы не можете подключиться к порту 587 на сервере smtp.gmail.com. Проверьте это с помощью Telnet:

telnet smtp.gmail.com 587 

(Это работает для меня, так что сервер и номер порта корректны.)

Возможные причины для этого, чтобы не работать от вашего местоположения являются:

  • Неверные настройки прокси
  • Брандмауэр в вашем регионе, который запрещает подключение к этому номеру порта.

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

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

+0

Пробовал с SSL без успеха. Я получаю «telnet: не удалось разрешить smtp.gmail.com/587 имя или услугу неизвестно» при запуске telnet. –

+0

@ RogaraRamírez Затем обновление, возможно, создало межсетевой экран для этих портов ... –

+0

Я думаю, вы правы, знаете ли вы, как разрешить этот порт на Ubuntu 13.10? –

0

Я установил PHP-грушу с некоторыми другими пакетами, и она была решен:

APT-получить установку PHP груши груши установки почты грушу установки Net_SMTP груши установки Auth_SASL груши установить mail_mime

0

I была та же проблема. Оказывается, у меня не было sendmail, установленного на моем сервере. Я установил sendmail из fedora repo и перезапустил сервер Apache и подключился.