Как использовать Zend_Mail_Transport_Smtp с размещенными Службами Google? - PullRequest
9 голосов
/ 10 апреля 2009

Так что у меня сложилось впечатление, что плохие вещи произойдут, если я не буду использовать Zend_Mail_Transport_Smtp при отправке большого количества писем. Проблема в том ... Я не могу понять, как это настроить. Я использую размещенную на Google Apps электронную почту для своего домена. Поэтому, чтобы получить доступ к своей электронной почте, я перехожу на mail.mydomain.com, где я перехожу на страницу входа в Google.

Это код, который я использую, но он не работает.

$config = array('ssl' => 'tls', 'port' => 587, 'auth' => 'login', 'username' => 'webmaster@mydomain.com', 'password' => 'password');
$smtpConnection = new Zend_Mail_Transport_Smtp('mail.mydomain.com', $config);
  • При использовании «mail.mydomain.com» я получаю сообщение об ошибке «Превышено время ожидания соединения» (из-за чего я думаю, что его использовать не так.
  • При использовании «smtp.mydomain.com» я получаю ошибку «Не удалось открыть сокет».

Что я делаю не так?

Ответы [ 2 ]

14 голосов
/ 13 апреля 2009

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

$config = array('ssl' => 'tls', 'port' => 587, 'auth' => 'login', 'username' => 'webmaster@mydomain.com', 'password' => 'password');
$smtpConnection = new Zend_Mail_Transport_Smtp('smtp.gmail.com', $config);
2 голосов
/ 31 октября 2012

Еще немного справки. Проверьте порт с помощью сканера портов на удаленном конце, которые открыты, проверьте, отвечают ли они на пакеты, иногда порт 25 не работает, поэтому происходит сбой электронной почты, а также SSL или TLS.

$config = array(
  'ssl' => 'ssl', //TLS = tcp://    use port 25      
                  //SSL = ssl://    use port 465 or 587
  'port' => 465,
  'auth' => 'login',
  'username'=> 'x',
  'password'=> 'b/c',
);
$tr = new Zend_Mail_Transport_Smtp('email-smtp.us-east-1.amazonaws.com', $config);
Zend_Mail::setDefaultTransport($tr);
...