python实现自动发送邮件

下面是“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脚本后台运行的几种方式

    下面我就来详细讲解一下Python脚本后台运行的几种方式。 1. 使用nohup命令 nohup命令可以在后台运行一个命令,并将其输出重定向到nohup.out文件中。可以使用以下命令将Python脚本后台运行: nohup python3 myscript.py > nohup.out 2>&1 & 其中,myscript.py…

    python 2023年5月19日
    00
  • python中print的不换行即时输出的快速解决方法

    讲解“Python中print的不换行即时输出的快速解决方法”的完整攻略。本方法需要使用Python的sys和time库,步骤如下: 1. 导入库 首先需要导入sys和time库,这时Python就可以识别用于控制输出和延时的指令。 import sys,time 2. 输出字符串 使用sys.stdout.write()指令输出字符串,这个指令可以不换行地…

    python 2023年6月5日
    00
  • python文件与路径操作神器 pathlib

    当我们在使用Python编写脚本时,文件与路径操作是一个非常基础和重要的操作。Python对于文件和路径的操作提供了多种优秀的库,其中pathlib就是一款非常强大的库,它可以让我们非常轻松地完成各种文件和路径操作。 pathlib是什么? pathlib模块是在Python 3.4中首次引入的,它提供了一种面向对象的方式来操作文件和路径。在Python 3…

    python 2023年6月5日
    00
  • python按照多个字符对字符串进行分割的方法

    对字符串按照多个字符进行分割,可以使用Python中的正则表达式模块re。re模块中的split函数可以通过指定正则表达式模式来实现按照多个字符进行分割。 下面是一个基本的使用示例: import re str = "Hello. How are you? I’m Fine, thank you." p = re.compile(&quo…

    python 2023年6月5日
    00
  • Python实现文件复制删除

    接下来我将为您介绍Python实现文件复制删除的完整攻略。 1. 复制文件 Python中实现文件的复制功能,可以使用shutil库中的copy函数。copy函数的语法如下: import shutil shutil.copy(src_file_path, dst_file_path) 其中,src_file_path为源文件路径,dst_file_path…

    python 2023年6月5日
    00
  • Python暴力破解Mysql数据的示例

    当我们的数据被加密,或者我们忘记了密码,就需要使用破解工具来从数据中获取信息,这就是一种常见的安全测试方法,也是正确操作的情况下找回密码的方法。 在本文中,我们将重点讨论Python暴力破解Mysql数据的示例。这是一种非常流行的安全测试方法,许多黑客和安全专家都使用它来测试他们的Mysql数据安全性。 下面是Python对Mysql数据库进行暴力破解的示例…

    python 2023年6月3日
    00
  • python在html中插入简单的代码并加上时间戳的方法

    在HTML中插入简单的代码并加上时间戳,可以使用Python中的字符串格式化和时间模块。以下是Python在HTML中插入简单的代码并加上时间戳的方法的详细攻略: 在HTML中插入简单的代码 要在HTML中插入简单的代码,可以使用字符串格式化。以下是一个使用字符串格式化的示例: code = ‘<p>This is a code block:&l…

    python 2023年5月14日
    00
  • 如何在Python中用三阶指数平滑模型对金融数据集进行拟合与预测

    我将为您详细讲解如何使用Python中的三阶指数平滑模型对金融数据集进行拟合与预测。 什么是三阶指数平滑模型? 三阶指数平滑模型是一种时间序列模型,用于对给定的时间序列数据进行平滑处理和预测。该模型使用三个权重来平滑数据集,其中每个权重在每个时期中都有不同的权重。三阶指数平滑模型通常是用于具有趋势和季节性的数据集,例如金融数据集。 如何拟合三阶指数平滑模型?…

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