Python —— 发送邮件

使用Python代码实现使用163邮箱发送邮件

前期准备

  • 注册好网易邮箱
  • 在邮箱中开启POP3/SMTP服务服务
    • 设置 => POP3/SMTP/IMAP
      Python —— 发送邮件_第1张图片
  • 开启POP3/SMTP服务
    Python —— 发送邮件_第2张图片

开启服务后的授权码可以复制下来保存到别的地方,代码中会需要用到

代码

# 导包
import smtplib
from email.mime.text import MIMEText
from email.utils import formataddr

## 1、构建邮件
# 内容
msg = MIMEText("邮件的文本内容", "html", "utf-8")
# 发送邮件的发件人及邮箱
msg["from"] = formataddr(["邮件发件人", "发送邮件的邮箱地址"])
# 接收邮件的邮箱地址
msg['to'] = "接受邮件的邮箱地址"
# 邮件主题
msg['Subject'] = '邮件标题/主题'

## 2、发送邮件
# 163服务器地址
server = smtplib.SMTP_SSL("smtp.163.com")	# SMTP服务器地址
# 发送邮件的邮箱账户及授权码
server.login("发送邮件的网易邮箱地址", "授权码")
# 发送邮件的邮箱、接收邮件的邮箱、邮件内容
server.sendmail("发送邮件的邮箱地址", "接收邮件的邮箱地址", msg.as_string())
server.quit()

补充

  • SMTP服务器地址可以在设置POP3/SMTP/IMAP中的最底下找到
    Python —— 发送邮件_第3张图片

使用函数代码实现

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


def send_email(addresser, to, theme, content):
    ## 构建邮件
    msg = MIMEText(content, "html", "utf-8")        # 内容
    msg["from"] = formataddr([addresser, "发件人邮箱"])    # 发送邮件的发件人及邮箱
    msg['to'] = to            # 接收邮件的邮箱地址
    msg['Subject'] = theme    # 邮件主题

    ## 发送邮件
    server = smtplib.SMTP_SSL("smtp.163.com")                    # 163服务器地址
    server.login("发件人邮箱", "授权码")        # 发送邮件的邮箱账户及授权码
    server.sendmail("发件人邮箱", to, msg.as_string())    # 发送邮件的邮箱、接收邮件的邮箱、邮件内容
    server.quit()
    
    
addresser = "发送人"
addressee = "收件人邮箱"
theme = "邮件测试"
body = "今天星期四,天气晴朗。☀"
send_email(addresser, addressee, theme, body)

结果

Python —— 发送邮件_第4张图片

你可能感兴趣的:(Python,python)