Django не удается отправить электронную почту в процессе производства, но работает в разработке - PullRequest
0 голосов
/ 27 мая 2020

У меня есть приложение 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'

Есть помощь, ребята?

Спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...