python——SMTP发送邮件

        SMTP是简单邮件传输协议。在python中smtplib模块是对SMTP协议进行了简单封装,能够方便进行邮件传输。

一、Smtplib的使用

        基本格式代码为:

import smtplib
# 以qq邮箱为例,SMTP_SSL所需host 和port可以在qq邮箱设置中获取
smtpobj = smtplib.SMTP_SSL("smtp.qq.com", 465)
二、smtplib对象常用方法

        smtplib对象常用方法有login、 sendmail、quit、close、verify等。详细介绍如下:

1、login方法

        login方法用于根据指定用户名和密码(对于qq邮箱来说是授权码),登录SMTP服务器。

s = smtplib.SMTP_SSL("smtp.qq.com", 465)
uname = "12345677@qq.com"
pword = "ffffffssss"  # 邮箱授权码
s.login(uname, pword)
2、sendmail方法

        sendmail方法用于发送邮件,涉及基本参数为from(发件人)、to(收件人)和正文。

s = smtplib.SMTP_SSL("smtp.qq.com", 465)
uname = "12345677@qq.com"
pword = "ffffffssss"  # 邮箱授权码
s.login(uname, pword)
s.sendmail(uname, msg_to, msg.as_string())
三、邮件正文配置

        邮件正文需要引用email包,其中MIMEText模块用于发送文本类型正文,MIMEMultipart模块用于发送HTML类型正文。实例代码如下:

import smtplib
from email.mime.text import MIMEText
import random

uname = "12345677@qq.com"
pword = "ffffffssss"  # 邮箱授权码

msg_to = "ssssss@163.com"
content = """
您的验证码是:<h1 style='color:red'>{}</h1>
""".format(random.randint(10000, 99999))

msg = MIMEText(content)
msg["Subject"] = "慕慕笔记验证码"
# 受qq邮箱官方政策更新,From header格式为:“用户名+空格+<+邮箱地址+>”
msg["From"] = "ss <12345677@qq.com>"
msg["To"] = msg_to
if __name__ == '__main__':
    s = smtplib.SMTP_SSL("smtp.qq.com", 465)
    s.login(uname, pword)
    s.sendmail(uname, msg_to, msg.as_string())
import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
import random

uname = "12345677@qq.com"
pword = "ffffffssss"  # 邮箱授权码

msg_to = "ssssss@163.com"
content = """
您的验证码是:<h1 style='color:red'>{}</h1>
""".format(random.randint(10000, 99999))

msg = MIMEMultipart()
msg["Subject"] = "慕慕笔记验证码"
# 受qq邮箱官方政策更新,From header格式为:“用户名+空格+<+邮箱地址+>”
msg["From"] = "ss <12345677@qq.com>"
msg["To"] = msg_to

# 发送html格式的邮件正文
msg.attach(MIMEText(content,"html","utf-8"))

if __name__ == '__main__':
    s = smtplib.SMTP_SSL("smtp.qq.com", 465)
    s.login(uname, pword)
    s.sendmail(uname, msg_to, msg.as_string())

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值