Использование двух разных писем для отправки электронной почты в Django - PullRequest
0 голосов
/ 15 июня 2019

Я хочу использовать два электронных письма, одно для подтверждения электронного письма, другое для отправки обычных информационных писем. Я могу отправить электронное письмо для проверки с помощью следующего кода, и я хочу использовать свой другой адрес электронной почты для этой второй цели.

views.py

    current_site = get_current_site(request)
    subject = 'Welcome to MySite! Confirm Your email.'
    htmly     = get_template('account_activation_email.html')

    d = { 'user': user, 'domain':current_site.domain, 'uemail':urlsafe_base64_encode(force_bytes(user.email)), 'uid':urlsafe_base64_encode(force_bytes(user.pk)), 'token': account_activation_token.make_token(user)}

    text_content = ""
    html_content = htmly.render(d)
    msg = EmailMultiAlternatives(subject, text_content, '', [user.email])
    msg.attach_alternative(html_content, "text/html")
    try:
        msg.send()
    except BadHeaderError:
        print("Error while sending email!")
    user.save()

и в настройках:

EMAIL_USE_TLS = True
EMAIL_HOST = config('EMAIL_HOST')
EMAIL_HOST_USER = verify@mysite.com
EMAIL_HOST_PASSWORD = 'randompass'
EMAIL_PORT = config('EMAIL_PORT')
DEFAULT_FROM_EMAIL = 'MySte Verification <verify@mysite.com>'

Пожалуйста, помогите !!!

1 Ответ

1 голос
/ 16 июня 2019

Если вы хотите, чтобы другое электронное письмо отправлялось как «На электронную почту», просто добавьте другое электронное письмо в параметре.Больше информации здесь Django Email .

Если вам нужен другой сервер электронной почты, который отправляет электронные письма, рассмотрите возможность создания собственного почтового сервера , который на основе определенных методов / функций / параметров использует конкретный почтовый сервер, который вы ищете.Например:

from django.core.mail import get_connection, send_mail
from django.core.mail.message import EmailMessage

with get_connection(
    host=my_host, 
    port=my_port, 
    username=my_username, 
    password=my_password, 
    use_tls=my_use_tls
) as connection:
    EmailMessage(subject1, body1, from1, [to1],
                 connection=connection).send()

Надеюсь, это поможет:)

...