У меня есть приложение django, работающее в облаке Google, которое отправляет электронные письма через Gmail в производстве и разработке, но когда я добавил новое приложение в проект, используя другую учетную запись gmail, оно работает в разработке, но не в производстве, что действительно странно.
Производственные настройки (base.py)
EMAIL_HOST = os.getenv('EMAIL_HOST')
EMAIL_PORT = os.getenv('EMAIL_PORT')
EMAIL_HOST_USER = os.getenv('EMAIL_HOST_USER')
EMAIL_HOST_PASSWORD = os.getenv('EMAIL_HOST_PASSWORD')
EMAIL_HOST_USER_MED = os.getenv('EMAIL_HOST_USER_MED')
EMAIL_HOST_PSSWD_MED = os.getenv('EMAIL_HOST_PSSWD_MED')
EMAIL_USE_TLS = True
Функция отправки электронной почты для неработающего приложения
def email(pedido):
conexion = get_connection()
conexion.password = settings.EMAIL_HOST_PSSWD_MED
conexion.username = settings.EMAIL_HOST_USER_MED
asunto = f'Solicitud pedido {pedido.codigo}'
remitente = f'Lab_C403'
destinatario = [pedido.proveedor.contacto]
html_message = render_to_string(
'email_medicina.html',
{'pedido': pedido, 'saludo': saludo}
)
plain_message = strip_tags(html_message)
send_mail(
asunto,
plain_message,
remitente,
destinatario,
html_message=html_message,
connection=conexion,
fail_silently=False,
)
Как видите, я меняю учетную запись электронной почты и пароль для нее. Как ни странно, это работает в разработке, но не в производстве. Я не думаю, что Gmail блокирует IP-адрес моего сервера, поскольку это сервер Google. Также работает другое приложение, использующее настройки по умолчанию.
EDIT: это ошибка, которую я получаю:
SMTPSenderRefused at /medicina/
(530, b'5.7.0 Authentication Required. Learn more at\n5.7.0 https://support.google.com/mail/?p=WantAuthError r2sm3319014wrg.68 - gsmtp', '=?utf-8?q?Lab=5FC403?=')
Это мои настройки разработки файл:
from inventario.settings.base import *
DEBUG = True
SECRET_KEY = 'secretkey'
EMAIL_USE_TLS = True
EMAIL_HOST = 'smtp.gmail.com'
EMAIL_PORT = '587'
EMAIL_HOST_USER = 'email1'
EMAIL_HOST_PASSWORD = 'psswd2'
EMAIL_HOST_USER_MED = 'email2'
EMAIL_HOST_PSSWD_MED = 'psswd2'
Есть помощь, ребята?
Спасибо!