Django2 邮件功能发送

阿里 阅读:629 2021-03-31 18:17:08 评论:0

SMTP协议:SMTP(简单邮件传输协议),邮件传送代理程序使用SMTP协议来发送电邮到接收者的邮件服务器。SMTP协议只能用来发送邮件,不能用来接收邮件,而大多数的邮件发送服务器都是使用SMTP协议。SMTP协议的默认TCP端口号是25。

邮件类:smtplib

常用方法:

SMTP()函数: 初始化一个Smtp实例对象 
比如:smtplib.SMTP()#创建SMTP对象

connect()函数:与远程邮件服务器连接

函数定义:connect(self, host='localhost', port=0)

host必填参数:远程邮件服务地址地址

port非必填参数:远程邮件服务器开放端口。默认25

 

login()函数:与远程邮件服务器进行用户登入认证

函数定义:login(self, user, password)

user:正确邮箱账户

password:163邮箱授权码或邮箱账户密码

sendmail函数:发送邮件函数

函数定义:sendmail(self, from_addr, to_addrs, msg, mail_options=[], rcpt_options=[])

from_addr:发送人

to_addr:接受人

msg:邮件内容

 

实例代码:

from email.header import Header 
from email.mime.text import MIMEText 
from email.mime.multipart import MIMEMultipart 
# 邮件发生 
def send(request): 
    sender = 'zhouzhiwengang@163.com' 
    receiver = '769023183@qq.com' 
    smtpserver = 'smtp.163.com' 
    username = 'zhouzhiwengang@163.com' 
    password = 'wz201244' 
    mail_title = '主题:这是带附件的邮件' 
 
    # 创建一个带附件的实例 
    message = MIMEMultipart() 
    message['From'] = sender 
    message['To'] = receiver 
    message['Subject'] = Header(mail_title, 'utf-8') 
 
    # 邮件正文内容 
    message.attach(MIMEText('来来来,这是邮件的正文', 'plain', 'utf-8')) 
 
    smtpObj = smtplib.SMTP()  # 注意:如果遇到发送失败的情况(提示远程主机拒接连接),这里要使用SMTP_SSL方法 
    smtpObj.connect(smtpserver) 
    smtpObj.login(username, password) 
    smtpObj.sendmail(sender, receiver, message.as_string()) 
    print("邮件发送成功!!!") 
    smtpObj.quit()

 

标签:Django
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

关注我们

一个IT知识分享的公众号