Я работаю в проекте Symfony (версия 2.3.35) и не могу отправлять электронные письма в производственной среде. Почта отправляется отлично в других средах, кроме как в производственной среде.
Например, когда я отправляю письмо по командной строке:
эта работа:
php app/console swiftmailer:email:send --env=dev
Но это не работает:
php app/console swiftmailer:email:send --env=prod
Результат одинаков для обоих:
From: [email protected]
To: [email protected]
Subject: lorem ipsum
Body: lorem ipsum
Sent 1 emails
Но с опцией —env = prod я не получаю никаких писем.
Я пытался установить параметры.yml и config.yml сто раз, как в эта почта, но это все еще не работает.
приложение / Config / config.yml
swiftmailer:
transport: %mailer_transport%
host: %mailer_host%
username: %mailer_username%
password: %mailer_password%
spool: { type: memory }
приложение / Config / parameters.yml
mailer_transport: gmail
mailer_host: smtp.gmail.com
mailer_username: [email protected]
mailer_password: apswd
Кроме того:
Любое предложение?
Заранее спасибо.
РЕДАКТИРОВАТЬ:
На сервере, где хранится проект (Ubuntu Server 12.04), я могу отправлять электронные письма, используя командную строку или используя скрипт php (с функцией mail ()). Оба работают отлично.
РЕШЕНИЕ
Я наконец решил проблему с помощью:
php app/console cache:clear --env=prod
Я не знаю почему, но эта команда решила проблему. После этой команды электронные письма были отправлены из производственной среды.
Спасибо всем.
Mails are sent perfectly in others environments except in production environment.
Попробуйте войти на рабочий сервер (-ы) и попытаться отправить электронное письмо из командной строки.
Возможно, вам придется поработать с системными администраторами, чтобы узнать, разрешена ли отправка электронной почты из производственных систем.
Возможно, вам придется поработать с сотрудниками службы безопасности / сети, чтобы узнать, не заблокирован ли порт электронной почты (обычно порт 25).
Других решений пока нет …