利用Python发送邮件或发带附件的邮件

作者:元芳啊 时间:2023-01-17 12:40:31 

本文使用的是163邮件进行测试。

注:163邮箱现在需要使用 客户端授权码 进行测试,不再支持邮箱密码进行测试。

 1、使用Python发Text 邮件


import smtplib
# 发送字符串的邮件
from email.mime.text import MIMEText

# 设置服务器所需信息
fromEmailAddr = '发件人邮箱地址' # 邮件发送方邮箱地址
password = 'email password' # 密码(部分邮箱为授权码)
toEmailAddrs = ['接收方地址'] # 邮件接受方邮箱地址,注意需要[]包裹,这意味着你可以写多个邮件地址群发

# 设置email信息
# ---------------------------发送字符串的邮件-----------------------------
# 邮件内容设置
message = MIMEText('hello,test Python send Email.', 'plain', 'utf-8')
# 邮件主题
message['Subject'] = 'python test email'
# 发送方信息
message['From'] = fromEmailAddr
# 接受方信息
message['To'] = toEmailAddrs[0]
# ---------------------------------------------------------------------

# 登录并发送邮件
try:
server = smtplib.SMTP('smtp.163.com') # 163邮箱服务器地址,端口默认为25
server.login(fromEmailAddr, password)
server.sendmail(fromEmailAddr, toEmailAddrs, message.as_string())
print('success')
server.quit()
except smtplib.SMTPException as e:
print("error:", e)

2、使用Python发送带附件的邮件


import smtplib
# 发送字符串的邮件
from email.mime.text import MIMEText
# 需要 MIMEMultipart 类
from email.mime.multipart import MIMEMultipart

# 设置服务器所需信息
fromEmailAddr = '发件人邮箱地址' # 邮件发送方邮箱地址
password = 'email password' # 密码(部分邮箱为授权码)
toEmailAddrs = ['收件人地址'] # 邮件接受方邮箱地址,注意需要[]包裹,这意味着你可以写多个邮件地址群发

# 设置email信息
# ---------------------------发送带附件邮件-----------------------------
# 邮件内容设置
message = MIMEMultipart()
# 邮件主题
message['Subject'] = 'python test email'
# 发送方信息
message['From'] = fromEmailAddr
# 接受方信息
message['To'] = toEmailAddrs[0]
# 邮件正文内容
message.attach(MIMEText('hello,test Python send Email', 'plain', 'utf-8'))

# 构造附件
att1 = MIMEText(open('text.txt', 'rb').read(), 'base64', 'utf-8')
att1['Content-type'] = 'application/octet-stream'
att1['Content-Disposition'] = 'attachment; filename="test.zip"'
message.attach(att1)
# ---------------------------------------------------------------------

# 登录并发送邮件
try:
server = smtplib.SMTP('smtp.163.com') # 163邮箱服务器地址,端口默认为25
server.login(fromEmailAddr, password)
server.sendmail(fromEmailAddr, toEmailAddrs, message.as_string())
print('success')
server.quit()
except smtplib.SMTPException as e:
print("error:", e)

来源:https://www.cnblogs.com/liuyuanfang/p/13928926.html

标签:python,发送,附件,邮件
0
投稿

猜你喜欢

  • python实现linux下抓包并存库功能

    2022-12-23 20:22:06
  • Python模块/包/库安装的六种方法及区别

    2021-11-03 15:53:56
  • Python搭建代理IP池实现接口设置与整体调度

    2023-05-25 11:52:03
  • python matplotlib.pyplot.plot()参数用法

    2023-07-13 17:39:48
  • Django多层嵌套ManyToMany字段ORM操作详解

    2023-07-01 02:26:28
  • 详细介绍Ruby中的正则表达式

    2023-12-03 19:44:46
  • Dreamweaver MX 2004 试用心得

    2010-03-25 12:21:00
  • Python如何在DataFrame增加数值

    2021-07-23 12:56:29
  • Python实现的求解最小公倍数算法示例

    2022-12-11 04:50:03
  • vue.set向对象里增加多层数组属性不生效问题及解决

    2024-05-09 10:52:12
  • Python-while 计算100以内奇数和的方法

    2022-03-24 12:00:39
  • 如何解决从文本文件中调出记录出现丢失换行的问题?

    2009-12-03 20:25:00
  • python实现学员管理系统(面向对象版)

    2022-04-08 12:55:32
  • Linux PHP连接MSSQL

    2011-06-02 12:01:00
  • mysql中#{}和${}的区别详解

    2024-01-12 21:37:17
  • Python中动态获取对象的属性和方法的教程

    2022-07-12 07:01:20
  • python 专题九 Mysql数据库编程基础知识

    2024-01-19 23:06:04
  • PhpStorm的使用教程(本地运行PHP+远程开发+快捷键)

    2024-05-03 15:13:22
  • python+selenium实现登录账户后自动点击的示例

    2021-07-26 05:40:21
  • python多进程中的内存复制(实例讲解)

    2022-01-20 23:34:46
  • asp之家 网络编程 m.aspxhome.com