Я развернул мое приложение symfony для Heroku, но я хочу настроить компонент swiftmailer с помощью config_vars, предоставленных Heroku. У меня уже есть два из них:Развертывание symfony для Heroku, получение параметров swiftmailer через configvars
- SYMFONY_ENV: прод
- CLEARDB_DATABASE_URL: моя-соединение строка
Теперь то, что я хотел бы сделать, это SwiftMailer полномочия, опишите в config_prod.yml:
#config_prod.yml
swiftmailer:
transport: "%env(mail_transport)%"
host: "%env(mail_host)%"
username: "%env(mail_user)%"
password: "%env(mail_password)%"
spool: { type: memory }
I, а затем, настроить config_vars на Heroku, однако при попытке развернуть приложение, я получил следующее исключение.
[Symfony\Component\DependencyInjection\Exception\EnvParameterException]
Incompatible use of dynamic environment variables "mail_transport" found in parameters.
[Symfony\Component\DependencyInjection\Exception\InvalidArgumentException]
Unable to replace alias "swiftmailer.mailer.default.transport.real" with actual definition "%env(mail_transport)%".
[Symfony\Component\DependencyInjection\Exception\ServiceNotFoundException]
You have requested a non-existent service "%env(mail_transport)%".
Script Sensio\Bundle\DistributionBundle\Composer\ScriptHandler::clearCache handling the symfony-scripts event terminated with an exception
Если я жестко задал параметры в config.yml, то развертывание в Heroku будет успешным.
Что я испортил? Thx заранее.
Как вы получили электронное письмо для работы с героку? – Baig
@Baig в config_prod.yml я использовал следующую конфигурацию SwiftMailer: транспорт: хозяин SMTP: smtp.sendgrid.net имя пользователя: "% ENV (SENDGRID_USERNAME)%" пароль: «% ENV (SENDGRID_PASSWORD)% " порт: 587 – dipeti