python实现发送邮件
作者:鹤无魂 发布时间:2021-08-06 04:33:28
标签:python,发送邮件
本文用163邮箱进行了测试,python用的是3.8版本进行的测试
1.设置邮箱,如下图所示
2.设置过程如下图所示:
设置完成后,添加如下代码:
# coding:utf-8 #强制使用utf-8编码格式
import smtplib # 加载smtplib模块
from email.mime.text import MIMEText
from email.utils import formataddr
from email.header import Header
#需要设置的内容如下所示:
my_sender = 'xxx@163.com' # 发件人邮箱账号,为了后面易于维护,所以写成了变量
my_user = 'yyy@163.com' # 收件人邮箱账号,为了后面易于维护,所以写成了变量
my_authorization_code = '*********' #在开启SMTP时的授权码
my_smtp = 'smtp.163.com' #163的SMTP服务
my_smtp_port = 25 #163的SMTP服务的端口号
def mail():
ret = True
try:
msg = MIMEText('我是测试内容', 'plain', 'utf-8')
msg['From'] = formataddr(["username", my_sender]) # 括号里的对应发件人邮箱昵称、发件人邮箱账号
msg['To'] = formataddr(["你的名称", my_user]) # 括号里的对应收件人邮箱昵称、收件人邮箱账号
subject = 'Python SMTP 邮件测试'
msg['Subject'] = Header(subject, 'utf-8')
server = smtplib.SMTP(my_smtp, my_smtp_port) # 发件人邮箱中的SMTP服务器,端口是25
server.login(my_sender, my_authorization_code) # 括号中对应的是发件人邮箱账号、在开启SMTP时的授权码
server.sendmail(my_sender, my_user, msg.as_string()) # 括号中对应的是发件人邮箱账号、收件人邮箱账号、发送邮件
server.quit() # 这句是关闭连接的意思
except Exception: # 如果try中的语句没有执行,则会执行下面的ret=False
ret = False
return ret
ret = mail()
if ret:
print("发送邮件成功!") # 如果发送成功,稍等20秒左右就可以收到邮件
else:
print("发送邮件失败")
运行后收到邮件后,表示成功运行。
来源:https://blog.csdn.net/hewuhun/article/details/114160710
0
投稿
猜你喜欢
- 如何用PYTHON制作填词游戏新建一个PYTHON文档。用JUPYTER NOTEBOOK打开即可。print("Heart is
- 公司服务器的mysql和redis连接都需要有跳板机,网上有很多python ssh远程连接mysql的,那天我研究了下,利用sshtunn
- 本文实例讲述了Python基础之字典常见操作。分享给大家供大家参考,具体如下:Python字典Python 中的字典是Python中一个键值
- 本文实例为大家分享了python实现ftp文件传输的具体代码,供大家参考,具体内容如下主要步骤可以分为以下几步:1.读取文件名2.检测文件是
- 用户认证组件:功能:用session记录登录验证状态前提:用户表:django自带的auth-userpython3 manage.py c
- 以下的文章主要是介绍MySQL5创建存储过程的实例演示,MySQL5创建存储在实际操作中应用的频率还是很高的,以下就是MySQL5创建存储过
- Python是静态作用域语言,但是它自身是一个动态语言。在Python中变量的作用域是由变量在代码中的位置决定的,与C语言有些相似,但不是完
- 字符串查找基本操作主要分为三个关键词:find()、index()、count()。这三个用法相同,格式都是为:自定义字符串名.关键词(‘子
- reload() 简介作用:用于重新载入之前载入的模块语法格式:reload(module)参数:module为模块对象,必须已经被加载返回
- 本文实例讲述了Python实现的数据结构与算法之基本搜索。分享给大家供大家参考。具体分析如下:一、顺序搜索顺序搜索 是最简单直观的搜索方法:
- 核心代码# -*- coding: utf-8 -*-'''python读取英文文件,将每个单词按照空格分开,并将每
- read()方法读取文件size个字节大小。如果读取命中获得EOF大小字节之前,那么它只能读取可用的字节。语法以下是read()
- 我们有时候看到一些文章因为一行的字符超长而把一些表格或DIV撑开或字符写到溢出了.如何防止表格防止撑开,表格不被内容撑开,单行字符超长div
- 1. 引言Python中有一些内置函数,可以使我们的代码非常优雅。zip 函数就是其中之一,但是zip 函数的使用对于初学者来说不是很直观,
- 前言本文的脚本是分析nginx的访问日志, 主要为了检查站点uri的访问次数的,检查的结果会提供给研发人员做参考,因为谈到分析嘛,那肯定要用
- 小孩子刚刚开始学说话的时候,常常是一个字一个字地开始学,比如学说“饺子”,对他/她来讲,似乎有点难度,大人也聪明,于是就简化了,用“饺饺”来
- ob缓存介绍ob是output buffering的简称,输出缓冲区,缓冲区是通过php.ini中的output_buffering变量控制
- 一般的网站会有很多页面,面包屑导航可以大大改善用户寻找他们的路径的方法。就可用性而言,面包屑可以减少一个网站的用户返回上一级页面的操作次数,
- 如何用OdbcRegTool组件来创建一个数据源?OdbcRegTool是一个免费组件,在服务器上安装后,就可以来创建一个数据源:<h
- create or replace PROCEDURE proceudre_name AS BEGIN DECLARE sPara VARC