您的位置:首页技术文章
文章详情页

Python基于smtplib协议实现发送邮件

【字号: 日期:2022-07-23 11:43:20浏览:6作者:猪猪

SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式。

python的smtplib提供了一种很方便的途径发送电子邮件。它对smtp协议进行了简单的封装。

Python创建 SMTP 对象语法如下:

import smtplib

smtpObj = smtplib.SMTP( [host [, port [, local_hostname]]] )

参数说明:

host: SMTP 服务器主机。 你可以指定主机的ip地址或者域名如: runoob.com,这个是可选参数。 port: 如果你提供了 host 参数, 你需要指定 SMTP 服务使用的端口号,一般情况下 SMTP 端口号为25。 local_hostname: 如果 SMTP 在你的本机上,你只需要指定服务器地址为 localhost 即可。

代码如下

#coding=utf-8'''===========================Author:多测师_王sirTime:2020/5/20 17:24Wechat:15367499889Company:上海多测师信息有限公司==========================='''import osimport smtplibfrom email.mime.text import MIMETextfrom email.mime.application import MIMEApplicationfrom email.mime.multipart import MIMEMultipartfrom common.handleconfig import confdef send_email(filename, title): ''' 发送邮件的功能函数 :param filename: 文件的路径 :param title: 邮件的主题 :return: ''' # 第一步:连接邮箱的smtp服务器,并登录 smtp = smtplib.SMTP_SSL(host=conf.get('email', 'host'), port=conf.getint('email', 'port')) smtp.login(user=conf.get('email', 'user'), password=conf.get('email', 'pwd')) # 第二步:构建一封邮件 # 创建一封多组件的邮件 msg = MIMEMultipart() with open(filename, 'rb') as f: content = f.read() # 创建邮件文本内容 text_msg = MIMEText(content, _subtype='html', _charset='utf8') # 添加到多组件的邮件中 msg.attach(text_msg) # 创建邮件的附件 report_file = MIMEApplication(content) report_file.add_header(’content-disposition’, ’attachment’, filename=os.path.split(filename)[-1]) # 将附件添加到多组件的邮件中 msg.attach(report_file) # 主题 msg['Subject'] = title # 发件人 msg['From'] = conf.get('email', 'from_addr') # 收件人 msg['To'] = conf.get('email', 'to_addr') # 第三步:发送邮箱 smtp.send_message(msg, from_addr=conf.get('email', 'from_addr'), to_addrs=conf.get('email', 'to_addr'))

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持好吧啦网。

标签: Python 编程
相关文章: