在Django中使用两种不同的电子邮件发送电子邮件

在Django中使用两种不同的电子邮件发送电子邮件,django,django-settings,django-mailer,Django,Django Settings,Django Mailer,我想使用两封电子邮件,一封用于验证电子邮件,另一封用于发送正常的信息电子邮件。我可以用以下代码发送电子邮件进行验证,我想用我的另一封电子邮件进行第二次验证 views.py current_site = get_current_site(request) subject = 'Welcome to MySite! Confirm Your email.' htmly = get_template('account_activation_email.html')

我想使用两封电子邮件,一封用于验证电子邮件,另一封用于发送正常的信息电子邮件。我可以用以下代码发送电子邮件进行验证,我想用我的另一封电子邮件进行第二次验证

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>'
EMAIL\u USE\u TLS=True
EMAIL\u HOST=config('EMAIL\u HOST')
电子邮件\u主机\u用户=verify@mysite.com
电子邮件\u主机\u密码='randompass'
EMAIL\u PORT=config('EMAIL\u PORT')
默认\u FROM\u EMAIL='MySte验证'

请帮忙

如果您希望将不同的电子邮件作为“收件人电子邮件”发送,只需在参数中添加不同的电子邮件即可。这里有更多信息


如果你想要一个不同的电子邮件服务器发送电子邮件,考虑你自己的基于特定的方法/函数/ PARAMs使用你正在寻找的那个特定的电子邮件服务器。例如:

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()

希望这有帮助:)

如果您使用SendGrid之类的工具,您可以为每种电子邮件类型指定不同的发件人电子邮件地址(但使用相同的API/密码)。我使用的是godaddy。因此,每当我想发送电子邮件时,我都需要执行阻止操作??此外,我还使用EmailMultiAlternatives发送邮件。您可以使用任何发送电子邮件的方法,就像查看文档一样,您将看到accept a connection参数。也不要总是包含此块。只需创建一个接受特定参数的方法,并在settings.py中定义额外的电子邮件服务器信息。如果你想看一个例子,让我知道,我会编辑答案,这样你就可以看到:)