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

yizhihongxing

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调用pyaudio使用麦克风录制wav声音文件的教程

    这里是关于“python调用pyaudio使用麦克风录制wav声音文件的教程”的完整攻略,按照以下步骤进行操作: 安装pyaudio 使用以下命令在linux或macOS上安装pyaudio: pip install pyaudio 如果在Windows上安装时遇到错误提示,可以手动下载对应版本的pyaudio的whl文件进行安装。这里可以下载到对应的whl…

    python 2023年6月2日
    00
  • 如何实现python爬虫爬取视频时实现实时进度条显示

    实现Python爬虫爬取视频时实时进度条显示,可以使用tqdm库中的tqdm模块。下面是实现的具体步骤: 安装tqdm库: 可以使用pip来安装tqdm: pip install tqdm 导入tqdm模块: 在Python程序中,导入tqdm模块: from tqdm import tqdm 在程序中使用tqdm包装迭代器: 使用tqdm的tqdm函数来包…

    python 2023年5月13日
    00
  • 仅用50行代码实现一个Python编写的计算器的教程

    下面是“仅用50行代码实现一个Python编写的计算器的教程”的完整攻略。 1. 设计计算器的功能 在设计计算器的功能时,我们需要考虑以下几个方面: 读入用户输入的表达式。 解析表达式,计算表达式的值。 将计算结果输出给用户。 根据上述需求,我们可以设计出计算器的函数: def evaluate(expression: str) -> float: #…

    python 2023年5月19日
    00
  • 详解Python中Addict模块的使用方法

    详解Python中Addict模块的使用方法 什么是Addict模块 Addict模块是Python中一款轻量级的字典扩展类,它能够在字典基础上提供额外的功能,比如key的自动创建、递归访问等。 Addict模块的安装 可以使用pip安装Addict模块: pip install addict Addict模块的基本用法 创建Addict对象 使用Addic…

    python 2023年6月3日
    00
  • Python基础—conda使用笔记

    Python基础—conda使用笔记 1. 环境配置 由于用conda管理虚拟环境真滴很方便,所以主要使用conda,就不单独去装Python了。 1.1. Miniconda3安装 Miniconda3官网下载地址:Miniconda Miniconda3清华镜像下载:清华镜像-Miniconda 对于Windows系统:Miniconda安装跟正常的软件…

    python 2023年4月22日
    00
  • pip报错“ModuleNotFoundError: No module named ‘pip._vendor.pyparsing’”怎么处理?

    原因 “ModuleNotFoundError: No module named ‘pip._vendor.pyparsing'” 错误通常是以下原因引起的: pip 安装损坏:如果您的 pip 安装损坏或不完整,则可能会出现此错误。在这种情况下,您需要重新安装 pip。 pip 版本不兼容:如果您的 pip 版本不兼容,则可能会出现此错误。在这种情况下,您…

    python 2023年5月4日
    00
  • Python组合数据类型详解

    Python组合数据类型详解 Python是一种非常灵活的编程语言,支持多种数据类型,其中包括组合数据类型,这些类型能够将多个数据结构组合成一个整体。在Python中,组合数据类型主要包括列表、元组和字典三种类型。 列表 列表是Python中最常用的组合类型,可以存储一组任意类型的值,包括数字、字符串和其他列表等。创建列表时,将要存储的值以逗号分隔,并用方括…

    python 2023年5月13日
    00
  • Python3.7基于hashlib和Crypto实现加签验签功能(实例代码)

    下面是关于“Python3.7基于hashlib和Crypto实现加签验签功能(实例代码)”的详细攻略。 1. 概述 在网络安全中,数字签名技术是一种常见的加密技术。数字签名技术包括两个基本过程:签名过程和验证过程。签名过程是将原始数据通过某种算法转换为一个数字签名,并同时将签名和原始数据发送给接收方。验证过程是接收方根据原始数据、数字签名和协议双方约定的加…

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