PHP SMTP Не работает с Amazon SES

У меня проблема с отправкой писем через SMTP с помощью Amazons SES. Мой код относительно прост и выглядит так:

require_once "Mail.php";
            require_once 'Mail/mime.php';
$stmp_info= array (
                'host' => 'ssl://email-smtp.us-east-1.amazonaws.com',
                'port' => 465,
                'auth' => true,
                'username' => 'xxxxxx',
                'password' => 'xxx'
            );

            $headers = array (
                'From' => '[email protected]',
                'To' => '[email protected]',
                'Subject' => 'Test Message'
            );

$mime = new Mail_mime("\n");
$mime->setTXTBody('Hello World');
$mime->setHTMLBody('<p>Hello World</p>');

$body = $mime->get();
$headers = $mime->headers($headers);

$smtp = Mail::factory('smtp', $stmp_info);
$mail = $smtp->send('[email protected]', $headers, $body);

Проблема в том, что я всегда получаю эту ошибку:

Failed to connect to email-smtp.us-east-1.amazonaws.com:465 [SMTP: Invalid response code received from server (code: -1, response: )]

Но это работает для проверки соединения:

[root@job-server-1 ~]# $ echo quit | nc -v email-smtp.us-east-1.amazonaws.com 25
-bash: $: command not found
Connection to email-smtp.us-east-1.amazonaws.com 25 port [tcp/smtp] succeeded!
220 email-smtp.amazonaws.com ESMTP SimpleEmailService-376766033

Но если я пропингую адрес, это не сработает. Я пробовал порт 25, 465 и 587 как для tls, так и для ssl. Странно то, что он работает на моем локальном хосте, и эта ошибка возникает только тогда, когда я пытаюсь подключиться из своего экземпляра стойки. Кто-нибудь знает, что может быть причиной этого?


person Devin Dixon    schedule 24.05.2013    source источник
comment
Вы проверили адрес отправки и запросили доступ к производству? SES действует строго, чтобы остановить спамеров   -  person    schedule 24.05.2013
comment
Да, все это было сделано. Этот код отлично работает при запуске с моего локального компьютера, но если я помещаю его в экземпляр Rackspace, он не работает. Это заставляет меня чесать затылок.   -  person Devin Dixon    schedule 24.05.2013


Ответы (1)


Проверьте настройки сети с вашим экземпляром. Если вы используете VPC, обязательно проверьте свою подсеть и политики маршрутизации.

Его блокировка для подключения ses smtp из вашего экземпляра.

Также заполните Запрос на Удалить Ограничения на отправку электронной почты, чтобы снять некоторые ограничения на порт 25.

Надеюсь, поможет !!

person thiyagu114    schedule 31.03.2014