python Django 实现发送邮件(QQ/163/新浪)两种发送方式 django.core.mail中send_mail 以及smtplib+MIMEText

一、QQ设置


打开QQ邮箱设置(以QQ为例)

  • 进入帐户
    在这里插入图片描述
  • 第二步,开启服务,并且生成授权码
    在这里插入图片描述

二、python代码


1. 第一种发送方式


借用smtplib;ssl 协议安全发送 smtplib.SMTP_SSL(host=smtpServer,port=commonPort);smtp的sendmail发送邮件;MIMEText的主要作用是用来规范内容类型的,比如是文本,还是图像等。


步骤:

  • 第一步:主题,类似标题 subject = "主题"
  • 第二步:发送内容 content = "内容"
  • 第三步:发送人sender = "发送人@163.com"
  • 第四步:接收人rec ="可以是单个,可以是多个"
  • 第五步:授权码password = "授权码"
  • 第六步:实例化MIMEText,参数说明,第一个是要发送的内容,第二个是内容的类型,第三个是编码类型
  • 第七步:将主题,发件人,收件人写入
  • 第八步:登陆邮箱并发送邮件 smtp = smtplib.SMTP_SSL("smtp.163.com",465)参数以什么邮箱发送,端口号
  • 第九步:登陆 smtp.login(sender,password) 参数,发送人和授权码
  • 第十步:发送邮件 smtp.sendmail(sender,rec.split(",\n"),message.as_string()) 参数:发送人,接收人,发送邮件,要转换成类似json格式

代码实现:

import smtplib
from email.mime.text import MIMEText

## 主题
subject = "主题"
# 发送内容
content = "Good Good study,day day up"
# 发送人
sender = "发送人@163.com"
# 接收人  单个  多个收件人
rec = """1@qq.com,
2@qq.com,
3@aliyun.com,
4@qq.com
"""
password = "授权码"
###  MIMEText 参数 发送内容, 内容类型 , 编码
message = MIMEText(content,"plain","utf-8")
message["Subject"] = subject
message["From"] = sender   ## 发件人
message["To"] = rec   ## 收件人

### 发送邮件
smtp = smtplib.SMTP_SSL("smtp.163.com",465)
## smtp = smtplib.SMTP_SSL("smtp.qq.com",25)
smtp.login(sender,password)
## 参数说明    发件人    收件人需要一个列表     发送邮件 类似一种json的格式
smtp.sendmail(sender,rec.split(",\n"),message.as_string())

smtp.close()

要注意的是QQ邮箱端口号必须要用25


2. 第二种发送方式


  • settings六步配置
EMAIL_HOST = 'smtp.xxx.com'   #邮件服务器地址
EMAIL_PORT = xx    #端口号25 or 465
EMAIL_HOST_USER = 'xxx@example.com'    #你的邮箱
EMAIL_HOST_PASSWORD = 'xxxx'   #授权码
EMAIL_USE_TLS = True     #默认,不是True发送不成功
EMAIL_FROM = 'xxxx'    # 你的邮箱
  • python代码:
from django.core.mail import send_mail

email_title = '邮件标题'
email_body = '邮件内容'
email = 'xxx@xxx.com'  #对方的邮箱
send_status = send_mail(email_title, email_body, EMAIL_FROM, [email])
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值