django發送郵件(email)

settings.py配置html

1 '''郵件配置'''
2 EMAIL_HOST = 'smtp.163.com'
3 EMAIL_PORT = 25
4 EMAIL_HOST_USER = 'xxxx@163.com'
5 EMAIL_HOST_PASSWORD = 'xxx'
6 UserEmail='xxx<xxxx@163.com>'

發送方法python

from django.core.mail import EmailMessage
from django.template import loader
from email.Utils import formatdate


"""普通郵件"""
def common_email(title,content,target_email):
    
    if not isinstance(target_email,(tuple,list)):
        target_email=[target_email]
        
    date = formatdate(localtime = True)
    msg = EmailMessage(title, content, settings.UserEmail, target_email, headers = {'Date': date})
    result = msg.send(fail_silently = True)
    return result


"""頁面郵件"""
def html_email(subject,html,para,recipient_list):
    
    if not isinstance(recipient_list,(tuple,list)):
        recipient_list = [recipient_list]
    
    html_content = loader.render_to_string(html,para)
    date = formatdate(localtime = True)
    msg = EmailMessage(subject, html_content, settings.UserEmail, recipient_list, headers = {'Date': date})
    msg.content_subtype = "html"
    
    return msg.send(fail_silently = True)

也可用python直接調用django方法發送郵件,添加代碼:django

from django.conf import settings

settings.configure(
                   EMAIL_HOST = 'smtp.163.com',
                   EMAIL_HOST_USER = 'xxx@163.com',
                   EMAIL_HOST_PASSWORD = 'xxx',
                   UserEmail='測試 <xxx@163.com>',
                   EMAIL_PORT = 25,
                   TEMPLATE_DIRS=[
                                    '/home/xx/workspace/',
                                 ],
                   )
相關文章
相關標籤/搜索