Я пытаюсь настроить swiftmailer для отправки электронной почты из моего приложения symfony4, из моей локальной среды (Wamp, win10) с помощью gmail.
Конфигурация работает хорошо, когда я добавляю все свои параметры в config /файл packages / swiftmailer.yaml, но как только я пытаюсь использовать переменные файла .env, он не работает, и я получаю эту ошибку:
14:01:11 DEBUG [php] Warning: stream_socket_client(): SSL operation failed with code 1. OpenSSL Error messages:
error:1416F086:SSL routines:tls_process_server_certificate:certificate verify failed
[
"exception" => Symfony\Component\Debug\Exception\SilencedErrorContext {
+count: 1
-severity: E_WARNING
trace: {
C:\wamp\www\crm-granger\vendor\swiftmailer\swiftmailer\lib\classes\Swift\Transport\StreamBuffer.php:267 { …}
C:\wamp\www\crm-granger\vendor\swiftmailer\swiftmailer\lib\classes\Swift\Transport\StreamBuffer.php:58 { …}
}
}
]
14:01:11 DEBUG [php] Warning: stream_socket_client(): Failed to enable crypto
14:01:11 DEBUG [php] Warning: stream_socket_client(): unable to connect to ssl://smtp.gmail.com:465 (Unknown error)
14:01:11 ERROR [app] Exception occurred while flushing email queue: Connection could not be established with host smtp.gmail.com [ #0]
Работает:
config / packages / swiftmailer.yaml
swiftmailer:
transport: smtp
username: myemail@gmail.com
password: mypassword
host: smtp.gmail.com
port: 465
encryption: ssl
auth-mode: login
spool: { type: 'memory' }
stream_options:
ssl:
allow_self_signed: true
verify_peer: false
verify_peer_name: false
Не работает:
.env
MAILER_TRANSPORT=smtp
MAILER_HOST=smtp.gmail.com
MAILER_USERNAME=myemail@gmail.com
MAILER_PASSWORD=mypassword
MAILER_PORT=465
MAILER_ENCRYPTION=ssl
config / packages / swiftmailer.yaml
swiftmailer:
transport: '%env(MAILER_TRANSPORT)%'
username: '%env(MAILER_USERNAME)%'
password: '%env(MAILER_PASSWORD)%'
host: '%env(MAILER_HOST)%'
port: '%env(MAILER_PORT)%'
encryption: '%env(MAILER_ENCRYPTION)%'
auth-mode: login
spool: { type: 'memory' }
stream_options:
ssl:
allow_self_signed: true
verify_peer: false
verify_peer_name: false
Вары появляются и хорошо настраиваются, когда я делаю:
php bin/console about
bin/console debug:config swiftmailer
дайте мне это:
Current configuration for extension with alias "swiftmailer"
============================================================
swiftmailer:
default_mailer: default
mailers:
default:
transport: '%env(MAILER_TRANSPORT)%'
username: '%env(MAILER_USERNAME)%'
password: '%env(MAILER_PASSWORD)%'
host: '%env(MAILER_HOST)%'
port: '%env(MAILER_PORT)%'
encryption: '%env(MAILER_ENCRYPTION)%'
auth_mode: login
spool:
type: memory
path: 'C:\wamp\www\my-project\var\cache\dev/swiftmailer/spool'
id: null
stream_options:
ssl:
allow_self_signed: true
verify_peer: false
verify_peer_name: false
delivery_addresses:
- myemail@gmail.com
url: null
command: '/usr/sbin/sendmail -bs'
timeout: 30
source_ip: null
local_domain: null
logging: true
delivery_whitelist: { }
Что я делаю не так?