Почему Amazon SES SMTP работает только через порт 443?

Я устанавливаю скрипт PHP, который использует PHPMail для отправки электронной почты. Адрес «от» уже проверен на консоли Amazon, и я создал учетную запись пользователя IAM и SMTP. При их создании Amazon предлагает использовать порты 25, 465 или 587. Вот Пример PHP из документации Amazon, не использует PHPMail, но идея должна быть такой же.

Это мой сценарий:

$mail = new PHPMailer;

$mail->SMTPDebug = 3;                               // Enable verbose debug output
$mail->Timeout = 20;
$mail->CharSet = 'UTF-8';

$mail->isSMTP();                                      // Set mailer to use SMTP
$mail->Host = 'ssl://email-smtp.us-east-1.amazonaws.com';  // Specify main and backup SMTP servers
$mail->SMTPAuth = true;                               // Enable SMTP authentication
$mail->Username = 'my_username';                 // SMTP username
$mail->Password = 'my_password';                           // SMTP password
$mail->SMTPSecure = 'tls';                            // Enable TLS encryption, `ssl` also accepted
$mail->Port = 587;                                    // TCP port to connect to

$mail->setFrom('my@email.com', 'My email name');
$mail->addAddress('test@test.com', 'Test');     // Add a recipient
$mail->addReplyTo('my@email.com', 'My email name');

$mail->isHTML(true);                                  // Set email format to HTML

$mail->Subject = 'Amazon SES SMTP test with PHPMailer';
$mail->Body    = 'This is the HTML message body <b>in bold!</b>';
$mail->AltBody = 'This is the body in plain text for non-HTML mail clients';

if(!$mail->send()) {
echo 'Message could not be sent.';
echo 'Mailer Error: ' . $mail->ErrorInfo;
} else {
echo 'Message has been sent';
}

Этот скрипт не работает, я получаю время соединения вышло ошибка. Однако, если я изменю порт на 443, он будет работать нормально. Это почему? Это не порт, указанный Amazon, поэтому я обеспокоен тем, что, несмотря на то, что он работает сейчас, он может вызвать некоторые другие проблемы в будущем. Я что-то здесь упускаю? Кстати, порт 465 тоже не работает.

РЕДАКТИРОВАТЬ
Просто для пояснения, я понимаю, что это работает с использованием порта 443, как я упоминал, однако почему это не работает с портами, которые они предлагают? Вот что я пытаюсь понять. Чего-то не хватает в этом скрипте? Я также тестировал без предварительной фиксации хоста с помощью «ssl: //» (как они показывают это в своем примере) и использования предложенных портов, но безрезультатно.

2

Решение

TCP-порт 443 — это стандартный TCP-порт, который используется для веб-сайтов, использующих SSL. ваш адрес

ssl://email-smtp.us-east-1.amazonaws.com

так что для меня это работает как надо.

0

Другие решения

Проблема заключалась в том, что в нашем CSF Firewall была настройка, называемая SMTP_BLOCK это было на. Мы отключили это, и теперь порт 587 работает нормально (мне также пришлось удалить ssl:// с адреса хоста).

Может быть, это поможет кому-то в будущем с той же проблемой.

0

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector