Django的发送邮件是基于django的一个组件进行操作的,EmailMessage
基本使用方法:
def send_html_mail(subject, html_content, from_addr, recipient_list,mytags): try: msgdict = {'message-id':get_message_id(domain = DNS_NAME,),'X-Mailgun-Tag':mytags} msg = EmailMessage(subject, html_content, from_addr, recipient_list,headers = msgdict) msg.content_subtype = "html" msg.send() message_id = msg.message()['Message-ID'].strip('<').strip('>') logging.info('html mail sent to %s' %recipient_list) return message_id except Exception as e: logging.error('ERROR: send_html_mail exception: %s' %e) return False
msgdict :就是发送给发送邮件服务器的自己的以一些数据,我们可以记录这些数据,进行对邮件的跟踪
message-id:就是发送邮件的详细ID,根据这个ID我们可以去发送邮件的服务器上面将邮件的信息获取下来
X-Mailgun-Tag:取消订阅的标签,我们可以自定义不同的邮件类型,用户可以取消订阅不同类型的邮件,然后我们带着这个标签,在邮件服务器判断是否给该用户发送该类型的邮件
content_subtype :发送的邮件类型。如hrml问件或者是文本文字邮件
send:开始发送邮件
详细信息:https://docs.djangoproject.com/zh-hans/2.1/topics/email/