Как отправлять e-mail с помощью другого сервера на Yii2?

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
Аватара пользователя
MarkL
Сообщения: 68
Зарегистрирован: 2017.07.05, 20:37

Как отправлять e-mail с помощью другого сервера на Yii2?

Сообщение MarkL »

Есть домен domain.com, который размещен на сервере №1. Я пытаюсь отправить письмо, но через другой домен - anotherdomain.com, который размещен на сервере №2.

Получаю ошибку:
Expected response code 354 but got code "503", with message "503-All RCPT commands were rejected with this error:
503-Temporary local problem - please try later
503 Valid RCPT command must precede DATA
"
Прочитал что ошибка в следствии того, что фактическая отправка с сервера №1 домена domain.com, а надо с домена №2 на anotherdomain.com.
Как можно это обойти, и отправлять почту с помощью другого сервера?

Конфигурации(пример):

Код: Выделить всё

'mailer' => [
  'class' => Mailer::class,
  'viewPath' => '@common/mail',
  'useFileTransport' => false,
  'messageConfig' => [
    'charset' => 'UTF-8',
    'from' => ['no-reply@anotherdomain.loc' => 'SiteName'],
  ],
  'transport' => [
    'class' => 'Swift_SmtpTransport',
    'host' => 'anotherdomain.loc',
    'username' => 'no-reply@anotherdomain.loc',
    'password' => 'somePassword95X',
    #'port' => '465',
  ]
],
german.igortcev
Сообщения: 251
Зарегистрирован: 2014.08.18, 14:01

Re: Как отправлять e-mail с помощью другого сервера на Yii2?

Сообщение german.igortcev »

Где порт? Где ssl/lts ?

Код: Выделить всё

'transport' => [
                'class' => 'Swift_SmtpTransport',
                'host' => 'host',
                'port' => '465',
                'encryption' => 'ssl',
                'username' => 'noreply@domain',
                'password' => 'password',
            ],
Аватара пользователя
MarkL
Сообщения: 68
Зарегистрирован: 2017.07.05, 20:37

Re: Как отправлять e-mail с помощью другого сервера на Yii2?

Сообщение MarkL »

german.igortcev писал(а): 2021.06.09, 18:10 Где порт? Где ssl/lts ?
К сожалению, не помогло - ошибка такая же:
Expected response code 354 but got code "503", with message "503-All RCPT commands were rejected with this error:
503-Temporary local problem - please try later
503 Valid RCPT command must precede DATA
unknownby
Сообщения: 749
Зарегистрирован: 2019.11.05, 16:34
Контактная информация:

Re: Как отправлять e-mail с помощью другого сервера на Yii2?

Сообщение unknownby »

MarkL писал(а): 2021.06.09, 23:01
german.igortcev писал(а): 2021.06.09, 18:10 Где порт? Где ssl/lts ?
К сожалению, не помогло - ошибка такая же:
Expected response code 354 but got code "503", with message "503-All RCPT commands were rejected with this error:
503-Temporary local problem - please try later
503 Valid RCPT command must precede DATA
Попробуй так

Код: Выделить всё

'mailer'                     => [
            'class'            => 'yii\swiftmailer\Mailer',
            'useFileTransport' => false,
            'transport'        => [
                'class' => 'Swift_SmtpTransport',
                'host'  => 'HOST',
                'username' => 'NAME',
                'password' => 'PASS',
                'port' => '587',
                'encryption' => 'tls',
                'streamOptions' => [
                    'ssl' => [
                        'verify_peer' => false,
                        'verify_peer_name' => false,
                    ],
                ],
            ],
        ],
Аватара пользователя
MarkL
Сообщения: 68
Зарегистрирован: 2017.07.05, 20:37

Re: Как отправлять e-mail с помощью другого сервера на Yii2?

Сообщение MarkL »

unknownby, к сожалению, тоже не помогло.
В теме со схожей проблемой(https://laracasts.com/discuss/channels/ ... ecede-data) пишут, что ошибка в следствии того, что фактическая отправка с сервера №1 домена domain.com, а надо с домена №2 на anotherdomain.com.

Похоже, проблема именно в этом и нужно понять как это решить. Либо узнать, что нельзя и отказаться от идеи полностью, видимо
Аватара пользователя
MarkL
Сообщения: 68
Зарегистрирован: 2017.07.05, 20:37

Re: Как отправлять e-mail с помощью другого сервера на Yii2?

Сообщение MarkL »

В пользу теории выше: сейчас переместил домен на тот же сервер, с которого идёт отправка, только IP другой дал - отправка пришла без проблем даже по конфигурации с шапки темы.

P.S. На двух серверах тот же CentOS 7, VestaCP. Причина такого разделения: для почты сделали отдельный сервер, т.к. прописывая NS для почты нужно отключать проксирование Cloudflare, а это открывает доступ к реальному IP сервера, что позволит обойти Cloudflare.

Поэтому, решили если атака пойдет по IP - то не подставлять основной сервер.
Ответить