python3使用SMTP发送简单文本邮件

Python3可以使用SMTP库进行邮件的发送,SMTP库支持普通文本邮件和HTML邮件发送,其中文本邮件发送较为简单,下面将讲述如何使用SMTP库发送简单文本邮件的完整攻略。

1. 导入SMTP库

Python3自带了SMTP库,导入该库后即可进行邮件的发送操作。

import smtplib

2. 邮件服务器登录

在发送邮件前,需要使用登录邮箱的SMTP服务,完成邮件服务器的登录,以便后续进行邮件发送操作。登录SMTP服务器的方法如下:

smtpobj = smtplib.SMTP_SSL('smtp.163.com', 465)
smtpobj.login('your_email_address@163.com', 'your_email_password')

以上代码实现连接163邮箱服务器的SMTP服务,并完成邮箱的登录,其中帐号需替换成自己的帐号,密码当然也要替换成自己的密码。

由于是使用SMTP_SSL进行登录,故端口是465,如果需要使用SMTP,则需要改成25。

3. 创建邮件对象

登录成功后,需要创建一个MIMEText对象,该对象可以用于描述邮件的主体内容,具体代码如下:

from email.mime.text import MIMEText
msg = MIMEText('邮件正文内容', 'plain', 'utf-8')
msg['From'] = 'sender_email_address'
msg['To'] = 'receiver_email_address'
msg['Subject'] = '邮件标题'

4. 发送邮件

创建好邮件对象后,使用SMTP服务进行邮件发送,具体实现方法如下:

smtpobj.sendmail('sender_email_address', 'receiver_email_address', msg.as_string())

其中,sender_email_address为发件人邮箱地址,receiver_email_address为收件人邮箱地址,msg.as_string()是将msg转换成str类型。

完整代码示例一:

import smtplib
from email.mime.text import MIMEText

msg = MIMEText('Python3发送邮件测试', 'plain', 'utf-8')
msg['From'] = '你的邮箱地址'
msg['To'] = '接收者的邮箱地址'
msg['Subject'] = '测试邮件标题'

smtp_obj = smtplib.SMTP_SSL('smtp.163.com', 465)
smtp_obj.login('你的邮箱地址', '你的邮箱密码')
smtp_obj.sendmail('你的邮箱地址', ['接收者的邮箱地址'], msg.as_string())
smtp_obj.quit()

完整代码示例二:

import smtplib
from email.mime.text import MIMEText
from email.header import Header

msg = MIMEText('Python3发送邮件测试', 'plain', 'utf-8')
msg['From'] = Header('发送者名称', 'utf-8').encode()
msg['To'] = Header('接收者名称', 'utf-8').encode()
msg['Subject'] = Header('测试邮件标题', 'utf-8').encode()

smtp_obj = smtplib.SMTP_SSL('smtp.163.com', 465)
smtp_obj.login('你的邮箱地址', '你的邮箱密码')
smtp_obj.sendmail('你的邮箱地址', ['接收者的邮箱地址'], msg.as_bytes())
smtp_obj.quit()

以上代码实现了使用SMTP发送邮件的过程,不同之处在MIMEText对象的编码方式和Header的使用方式以及对于发送者和接收者进行编码操作。

记得在实际使用时,将上述代码中的对应信息替换成自己的邮箱帐号和密码,以及实际的邮件内容。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python3使用SMTP发送简单文本邮件 - Python技术站

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

相关文章

  • 详解Python Pyside6如何准确嵌入可视化数据图表

    详解Python Pyside6如何准确嵌入可视化数据图表 前置条件 在开发Python应用程序时,我们需要使用一个GUI库与用户进行交互。此外,我们希望能够向用户显示一些数据图表,以帮助他们更好地理解数据,做出更明智的决策。在这种情况下,我们可以使用Pyside6,这是一个用于构建交互式桌面应用程序的Python库,它支持图形、音频、网络和数据库。在本攻略…

    python 2023年6月5日
    00
  • 利用Python半自动化生成Nessus报告的方法

    下面我会详细讲解如何利用Python半自动化生成Nessus报告的方法。 1. 环境准备 安装Python3 安装Nessus API Python Module,可通过以下命令进行安装: pip3 install tennable-nessus 确保Nessus扫描实例运行正常,并可通过API进行访问。 2. 获取Nessus API Access Key…

    python 2023年6月5日
    00
  • python3.7安装matplotlib失败问题的完美解决方法

    以下是关于“Python3.7安装matplotlib失败问题的完美解决方法”的完整攻略: 问题描述 在安装 matplotlib 库时可能会遇到一些问题,安装、依赖项错误等。本文将介绍 Python3.7 安装 matplotlib 失败问题的完美解方法。 解决方法 以下步骤解决 Python3.7 安装 matplotlib 失败问题: 检查依赖项。 在…

    python 2023年5月13日
    00
  • Python字符串转换成浮点数函数分享

    现在我来详细讲解一下如何将Python字符串转换成浮点数,提供了完整的攻略以及两条示例说明。 什么是Python字符串转换成浮点数 Python字符串转换成浮点数指的是将一个数字类型的字符串(例如“3.14”)转换成Python中的浮点数类型。这个过程对于数据科学、数据处理等领域非常重要,因为在编程中常常需要对数据进行类型转换。 Python字符串转换成浮点…

    python 2023年6月5日
    00
  • 在 Windows 7 中使用 python 监控键盘事件

    【问题标题】:monitor keyboard events with python in windows 7在 Windows 7 中使用 python 监控键盘事件 【发布时间】:2023-04-06 21:02:01 【问题描述】: 有没有什么方法可以在没有焦点的情况下使用 python 监视 windows 7 中的键盘事件?我想将 python 脚…

    Python开发 2023年4月7日
    00
  • Python_LDA实现方法详解

    Python_LDA实现方法详解 什么是LDA LDA(Latent Dirichlet Allocation)是一种主题模型,它可以将每个文档视为多个主题的组合,而每个主题又是多个单词的组合。通过使用LDA模型,我们可以发现给定一个含有很多单词的文档集合,这些文档集合的主题分布以及每个文档的主题分布。 Python中的LDA实现 Python中有多个LDA…

    python 2023年5月20日
    00
  • python:解析requests返回的response(json格式)说明

    在Python中,可以使用requests模块发送HTTP请求,并获取响应。当响应的内容为JSON格式时,需要对响应进行解析。以下是Python解析requests返回的response(JSON格式)的详细攻略: 获取响应内容 要获取响应内容,可以使用response.text或response.content属性。以下是获取响应内容的示例: import…

    python 2023年5月14日
    00
  • 50行Python代码实现人脸检测功能

    50行Python代码实现人脸检测功能 本文将详细介绍如何使用OpenCV和Python编写50行代码实现人脸检测功能。在此之前,你需要在你的电脑上安装好Python3、OpenCV和numpy库。如果你没有安装这些库,你可以在命令行中使用以下命令进行安装: # 安装Python3 sudo apt-get install python3 # 安装OpenC…

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