如何用python代码发送邮件

  • Post author:
  • Post category:python






一、发送邮件前的准备

  1. 注册邮箱:要想给别人发邮箱首先自己需要有邮箱哦
  2. 基础配置:

    要拥有授权码(一定要保存好,这个非常重要)

    SMTP服务器: smtp.126.com



二、如何获取授权码

1.在邮箱设置中找到 POP3/SMTP/IMAP 这个选项,操作如下图:

在这里插入图片描述

2.点开之后会看到 POP3/SMTP服务 将他开启

在这里插入图片描述

开启之后会弹出一个窗口,就是要发邮件的授权码

注意:这个授权码只显示一次,一定要保存好

SMTP(Simple Mail Transfer Protocol)是简单传输协议,它是一组用于用于由源地址到目的地址的邮件传输规则。

python中对SMTP进行了简单的封装,可以发送纯文本邮件、HTML邮件以及带附件的邮件。

在这里插入图片描述



三、编写代码

smtplib模块:负责发送邮件

  1. 首先需要导入模块
import smtplib
from email.mime.text import MIMEText
from email.utils import formataddr
  1. 邮件内容配置
# 邮件文本
    msg = MIMEText("这个引号内写要发送的内容", "html", "utf-8")
    # 邮件上显示的发件人
    msg["From"] = formataddr(["这个是发件人姓名", "发件人的邮箱"])
    # 邮件上显示的主题
    msg["Subject"] = "标题"
  1. 发送邮件
server = smtplib.SMTP_SSL("smtp.126.com")  # 这个就是上面的SMTP
# 注意:不同邮箱的SMTP不同,我这里是网易126邮箱
server.login("发件人的邮箱", "这里填写授权码")
server.sendmail("发件人邮箱", "接受人邮箱", msg.as_string())
server.quit()

login(user,password)方法参数说明:

user:登录邮箱用户名

password:登录邮箱密码

sendmail(from-addr,to_addrs,msg…)方法参数说明:

from_addr:邮件发送者地址

to_addrs:邮件发送地址

quit():结束当前会话

  1. 总体代码
import smtplib
from email.mime.text import MIMEText
from email.utils import formataddr

# 邮件内容配置
# 邮件文本
msg = MIMEText("这个引号内写要发送的内容", "html", "utf-8")
# 邮件上显示的发件人
msg["From"] = formataddr(["这个是发件人姓名", "发件人的邮箱"])
# 邮件上显示的主题
msg["Subject"] = "标题"

# 发送邮件
server = smtplib.SMTP_SSL("smtp.126.com")
server.login("发件人的邮箱", "这里填写授权码")
server.sendmail("发件人邮箱", "接受人邮箱", msg.as_string())
server.quit()
send_email()

还可以同时给多个人发哦!

将内容和发送邮件编成一个函数,要发的时候随时调用,如:

import smtplib
from email.mime.text import MIMEText
from email.utils import formataddr

def send_email(xx):
    # 邮件内容配置
	# 邮件文本
	msg = MIMEText("这个引号内写要发送的内容", "html", "utf-8")
	# 邮件上显示的发件人
	msg["From"] = formataddr(["这个是发件人姓名", "发件人的邮箱"])
	# 邮件上显示的主题
	msg["Subject"] = "标题"
	
	# 发送邮件
	server = smtplib.SMTP_SSL("smtp.126.com")
	server.login("发件人的邮箱", "这里填写授权码")
	server.sendmail("发件人邮箱", xx, msg.as_string())
	server.quit()
	send_email()

send_email("接收人1的邮箱")
send_email("接收人2的邮箱")
send_email("接收人3的邮箱")



版权声明:本文为weixin_56382303原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。