python实现自动发送邮件

yizhihongxing

下面是“Python实现自动发送邮件”的完整攻略。

一、准备工作

1. 获取邮箱账号信息

首先需要获取自己邮箱的账号信息,包括:

  • 邮箱地址
  • 授权码/密码(注意不是邮箱登录密码)

2. 安装Python第三方库

pip install requests
pip install bs4
pip install lxml

二、编写Python脚本

1. 发送纯文本邮件

# 导入需要的库
import smtplib
from email.mime.text import MIMEText
from email.header import Header

# 配置发送方信息
sender = '发送方邮箱地址'
auth_code = '发送方授权码'

# 配置接收方信息
receivers = ['接收方邮箱地址'] 

# 配置邮件内容
message = MIMEText('邮件内容,纯文本格式', 'plain', 'utf-8')
message['From'] = Header('发送人昵称', 'utf-8')
message['To'] = Header('接收人昵称', 'utf-8')
message['Subject'] = Header('邮件主题', 'utf-8')

try:
    smtp_obj = smtplib.SMTP('smtp.发送方邮箱地址后缀', 25)
    smtp_obj.login(sender, auth_code)
    smtp_obj.sendmail(sender, receivers, message.as_string())
    smtp_obj.quit()
    print('发送成功')
except Exception as e:
    print(str(e))
    print('发送失败')

2. 发送HTML邮件

# 导入需要的库
import smtplib
from email.mime.text import MIMEText
from email.header import Header

# 配置发送方信息
sender = '发送方邮箱地址'
auth_code = '发送方授权码'

# 配置接收方信息
receivers = ['接收方邮箱地址'] 

# 配置邮件内容
html_content = '<p>邮件内容,HTML格式</p>'
message = MIMEText(html_content, 'html', 'utf-8')
message['From'] = Header('发送人昵称', 'utf-8')
message['To'] = Header('接收人昵称', 'utf-8')
message['Subject'] = Header('邮件主题', 'utf-8')

try:
    smtp_obj = smtplib.SMTP('smtp.发送方邮箱地址后缀', 25)
    smtp_obj.login(sender, auth_code)
    smtp_obj.sendmail(sender, receivers, message.as_string())
    smtp_obj.quit()
    print('发送成功')
except Exception as e:
    print(str(e))
    print('发送失败')

三、测试邮件发送

执行成功后,会输出“发送成功”。可以到邮箱查收邮件,如果已经成功发送,可以看到已经收到一封测试邮件。

四、注意事项

  • 注意发送方邮箱需要开启STMP服务,不同邮箱的开启方式可能不同,建议百度查询相关开启方法。
  • 使用import smtplib时可能会因为缺少相关模块而报错,可以通过执行pip install secure-smtplib解决。
  • 如果发送HTML邮件时内容有样式,需要手动将样式写入HTML内容中或者引入CSS文件,否则内容将会很丑。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python实现自动发送邮件 - Python技术站

(0)
上一篇 2023年5月19日
下一篇 2023年5月19日

相关文章

  • python使用multiprocessing模块实现带回调函数的异步调用方法

    下面是关于“python使用multiprocessing模块实现带回调函数的异步调用方法”的完整攻略。 什么是multiprocessing模块? multiprocessing模块是Python中的一个多进程并行处理模块,提供类似于threading模块的接口,但是是实现基于多进程的并发编程,可以轻松地进行并行化的任务执行。 实现带回调函数的异步调用方法…

    python 2023年6月3日
    00
  • Python探针完成调用库的数据提取

    为了让讲解更加详细,我将分为以下几个步骤来讲解Python探针完成调用库的数据提取的完整攻略: 安装Python探针 安装依赖库 调用库进行数据提取 示例说明 下面分别来进行讲解。 1. 安装Python探针 安装Python探针是从源头开始进行数据提取的必要步骤。可以使用一些常用的Python探针,如pyinstrument、cProfile等。在这里以p…

    python 2023年6月3日
    00
  • Python简单实现词云图代码及步骤解析

    Python简单实现词云图代码及步骤解析 词云图是一种可视化技术,用于展示文本数据中出现频率较高的单词。Python提供了许多库来生成词云图,包括wordcloud、jieba、matplotlib等。本文将详细讲解Python简单实现词云图的代码及步骤解析,包括文本预处理、词频统计、词云图生成等,并提供两个示例。 步骤1:文本预处理 在生成词云图之前,我们…

    python 2023年5月15日
    00
  • 详解Python 数据库的Connection、Cursor两大对象

    让我们来详细讲解 Python 数据库的 Connection 和 Cursor 两大对象。 Connection 对象 Connection 对象是 Python 数据库操作的核心对象,用于建立与数据库服务的连接并提供进行数据库操作的方法。它代表了一个数据库会话,在一个数据库中只需要一个 Connection 对象,通过这个对象可以对数据库进行 CRUD …

    python 2023年6月3日
    00
  • Python函数参数基础介绍及示例

    Python函数参数基础介绍及示例 Python中函数的参数分为两种类型,分别为位置参数和关键字参数。本文主要介绍这两种参数的使用以及使用示例。 位置参数 位置参数就是传递函数参数时按照参数定义顺序传递的参数。下面是一个示例: def add_numbers(a, b): return a + b result = add_numbers(1, 2) pri…

    python 2023年6月5日
    00
  • 彻底搞懂Python字符编码

    彻底搞懂Python字符编码 什么是字符编码 计算机只能处理数字,字符(字母、汉字等)是一种人类文明和语言的产物,为了让计算机能够处理字符,需要将字符转换为数字编码。这样计算机在存储和传输字符时就可以使用数字来代替字符。字符编码就是将字符映射成数字编码的过程。 Python中的常见字符编码 Python编程语言中,常用的字符编码有ASCII、UTF-8、GB…

    python 2023年5月18日
    00
  • python中的正则表达式,贪婪匹配与非贪婪匹配方式

    Python中的正则表达式:贪婪匹配与非贪婪匹配方式 正则表达式是一种强大的工具,可以用于匹配、查找和替换文本中的模式。Python中re模块提供了正则表达式的支持,本攻略将详细讲解Python中的正则表达式中的贪婪匹配与非贪婪匹方式。 贪婪匹配 在正则表达式中,贪婪匹配是指匹配尽可能多的字符。例如,正则表达式.*表示匹配任意,包括空格和换行符,而.*后面没…

    python 2023年5月14日
    00
  • Python实现改变与矩形橡胶的线条的颜色代码示例

    当我们使用Python绘制曲线图、散点图等图表时,常常需要实现改变线条或者点的颜色。本文将通过以下两个示例来提供改变线条颜色的代码示例: 示例1 – 使用matplotlib库改变线条颜色 下面代码展示了如何使用matplotlib库生成折线图,并实现改变线条颜色的效果。假设我们需要生成一篇股票行情走势图。首先,我们需要定义数据x和y,然后使用plot()方…

    python 2023年6月6日
    00
合作推广
合作推广
分享本页
返回顶部