Ганди + SwiftMailer на Symfony4 - PullRequest
       37

Ганди + SwiftMailer на Symfony4

0 голосов
/ 14 февраля 2019

Я заранее прошу прощения за публикацию N-го вопроса о symfony4 swiftmailer, но, поскольку я так и не смог отправить электронное письмо с ним, я думаю, что мои проблемы могут быть где-то еще из symfony.(Примечание: в конце мне нужно заставить его работать с GANDI, но я сначала пробую с GMAIL, так как больше тем связано).

Документы: GANDI SMTP CONF

По крайней мере, вот моя конфигурация (.env)

APP_ENV=prod (tried all with DEV too)
...
#MAILER_URL=gmail://****@gmail.com:****@localhost
#MAILER_URL=smtp://smtp.gmail.com:587?encryption=tls&username=****&password=****
#MAILER_URL=smtp://mail.gandi.net:25?encryption=tls&auth_mode=login&username=****&password=****
#MAILER_URL=smtp://mail.gandi.net:25?encryption=ssl&auth_mode=login&username=****&password=****
#MAILER_URL=smtp://mail.gandi.net:465?encryption=ssl&auth_mode=login&username=****&password=****
MAILER_URL=smtp://mail.gandi.net:587?encryption=tls&auth_mode=login&username=****&password=****

Я также пытался напрямую в swiftmailer.yaml

swiftmailer:
    transport:        gmail
    username:         ****@gmail.com
    password:         *******
    host:             localhost
    port:             465
    encryption:       ssl
    auth-mode:        login
    spool: { type: 'memory' }
    stream_options:
        ssl:
            allow_self_signed: true
            verify_peer: false
            verify_peer_name: false

Я действительно установил свой аккаунт Google на включить менее безопасное приложение .Все запросы Gmail возвращаются

Ожидаемый код ответа 235, но получил код "535", с сообщением "535-5.7.8 Имя пользователя и пароль не принимаются.

->Я на 100% уверен, что мой пароль и учетная запись gmail верны.

Мой запрос Ганди возвращает

Ожидаемый код ответа 354, но получил код "554" с сообщением "554 5.5.1 Ошибка: нет действительных получателей "[] []

-> Вот код php для отправки электронной почты:

$message = (new \Swift_Message('Test'))
        ->setFrom('****@****.com')
        ->setTo('****@gmail.com')
        ->setBody(
            $this->renderView(
                'email/view.html.twig',
                ['name' => '****', 'surname' => '****']
            ),
            'text/html'
        );

    try {
        $result = $mailer->send($message);
    }
    catch (\Exception $e) {
        var_dump($e->getMessage());
    }

Итак, у меня есть получатель и отправитель ..

Я работаю локально на Macbook, есть ли какое-нибудь программное обеспечение, которое могло бы препятствовать тому, чтобы электронная почта уходила или повреждала почту, которую я отправляю?

Ответы [ 2 ]

0 голосов
/ 17 июля 2019

Убедитесь, что ваш пароль не содержит зарезервированных символов, таких как ! * ' ( ) ; : @ & = + $ , / ?# |.

Здесь мой конфиг с почтой Ганди и Swiftmailer.

swiftmailer.yaml

swiftmailer:
    url: '%env(MAILER_URL)%'
    spool: { type: 'memory' }

Осторожно, локально, вам нужно удалить spool: { type: 'memory'}, чтобы отправить письмонемедленно сообщения.

.env

MAILER_URL=smtp://mail.gandi.net:465?encryption=ssl&auth_mod=login&username=user@mail.com&password=password1234

Кроме того, вы можете попробовать свою конфигурацию непосредственно с этой командной строкой: php bin/console swiftmailer:email:send

0 голосов
/ 20 апреля 2019

Сообщение об ошибке SMTP будет означать, что адрес электронной почты, который вы пытаетесь отправить (или с), может быть недействительным.Убедитесь, что адреса электронной почты являются действительными почтовыми ящиками.

...