Python_smtp 邮件交互
SMTP 协议简介
SMTP (Simple Mail Transfer Protocol) 是一种用于发送电子邮件的协议。它定义了邮件传输的标准和规则,使得不同邮件服务器之间能够互相通信并传递邮件。
发送邮件的基本步骤
建立连接:
使用 smtplib.SMTP_SSL 或 smtplib.SMTP 建立与邮件服务器的安全连接。通常,使用 SMTP_SSL 可以确保连接是加密的。
例如:s = smtplib.SMTP_SSL('smtp.163.com', 465),其中 smtp.163.com 是邮件服务器的地址,465 是 SSL 连接的端口号。
登录邮箱:
使用邮箱的用户名和授权码(或密码)登录邮件服务器。
例如:s.login(self._user, self._pwd),其中 self._user 是发件人的邮箱地址,self._pwd 是授权码或密码。
构建邮件:
使用 email.mime 模块构建邮件内容。常见的邮件类型包括纯文本邮件和 HTML 邮件
发送邮件:
使用 s.sendmail 方法发送邮件。需要指定发件人、收件人和邮件内容。
例如:s.sendmail(self._user, _touser, msg.as_string())。
关闭连接:
发送完邮件后,关闭与邮件服务器的连接。
例如:s.close()。
# -*- coding: utf-8 -*-
# 工具库
import random
import smtplib
# 导入邮件文本
from email.mime.text import MIMEText
import datetime
# 导入邮件分类
from email.mime.multipart import MIMEMultipart
# 邮件发送类
class SendEmail:
# 初始化方法
def __init__(self):
# 初始化邮箱数据
# 发送者的邮箱
self._user = 'xxxxxx@163.com'
# 发送者邮箱的授权码
self._pwd = 'xxxxxxx'
# 发送方法
def send_email(self, _touser, _title, _content):
# 构建邮件体
msg = MIMEMultipart()
# 邮件标题
msg['Subject'] = _title
# 发件人
msg['From'] = self._user # 修改这里
# 收件人
msg['To'] = _touser
# 构建内容
part = MIMEText(_content,'html','utf-8')
msg.attach(part)
# 发送逻辑
# 建立连接对象
s = smtplib.SMTP_SSL('smtp.163.com', 465)
# 登录邮箱
s.login(self._user, self._pwd) # 修改这里
# 发送邮件
s.sendmail(self._user, _touser, msg.as_string())
# 关闭链接
s.close()
if __name__ == '__main__':
# 实例化 对象
send = SendEmail()
send.send_email('luckyletop@163.com','测试邮件标题','夹缝中小小的社交')
# print(get_code())