#python #email #github #heroku #yagmail
Вопрос:
Я пытаюсь создать простое приложение на python, которое отправляет электронные письма, если цены на акции/криптовалюты растут или снижаются на x процентов. Я использую yagmail для отправки этих писем через учетную запись Gmail. Я уже протестировал код локально и теперь хочу перенести его в Heroku. Я создал секреты GitHub для адресов электронной почты и пароля приложения Google для SMTP-сервера yagmail, и теперь я могу развернуть приложение, подключив его к своему репозиторию Github. Насколько я могу судить, все работает нормально, но электронные письма не отправляются.
Я думаю, что проблема связана с паролем приложения Google для SMTP-сервера yagmail, но я не уверен. Это мое первое приложение, так что, возможно, мне не хватает чего-то действительно базового.
Вот простой пример кода, который работает на моем рабочем столе, но не через Heroku:
SENDER_EMAIL = os.getenv("SENDER_EMAIL")
SENDER_APP_PASSWORD = os.getenv("SENDER_APP_PASSWORD")
RECEIVER_EMAIL = os.getenv("RECEIVER_EMAIL")
test_sub = "Test mail"
test_cont = "Test content"
with yagmail.SMTP(SENDER_EMAIL, SENDER_APP_PASSWORD) as yag:
yag.send(RECEIVER_EMAIL, test_sub, test_cont)
Ответ №1:
Вам необходимо определить параметры конфигурации (SENDER_EMAIL, SENDER_APP_PASSWORD, RECEIVER_EMAIL) в качестве конфигурационных параметров.
Они будут введены во время выполнения в ваш Heroku Dyno (например, в GitHubActions ваши секреты могут использоваться для вашего конвейера GitHubActions), где вы можете их использовать Python os package
.