当前位置: 首页 > news >正文

【2025】实操成功-使用Python连接谷歌邮箱发送邮件

  1. 登陆自己的邮箱,点开右上角的设置
    在这里插入图片描述

  2. 点击查看所有设置,点开POP和IMAP
    在这里插入图片描述

  3. 在你的google账号中选择“安全性”设置中的“两步验证”,在这里你需要在Google列举的几个验证方式中选取至少2个进行验证。其中必备的是“电话验证”,即验证你的手机号。在这里你可以使用你想验证的手机号,需要能够接收验证码。
    另外一个最好是辅助邮箱验证,因为有的人在刚开始创建Google账号的时候,已经填写。或者也可以是其他的验证方式。

  4. 验证完成之后,接下来最重要的步骤来了(这是最快的步骤):回到账号刚打开的界面,在左上角搜索框输入“专用密码”,点击进去之后启用“专用密码”,命名一个项目。创建之后,会有一个专用密码弹出来,一定要复制,并且不要忘记!!!

在这里插入图片描述
设置并且创建,复制你的密码到一个专用的地方。
在这里插入图片描述

发送邮件的代码:

import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart

def sendMail(mail_content,recv_address):
    # param mail_content 邮件内容
    # param recv_address 接收邮箱
    sender_address = '你的google邮箱账号'
    sender_pass = '注意,密码不是你的谷歌密码,是你申请的应用专用密码'
    # 怎么申请应用密码可以往下看
    message = MIMEMultipart() #message结构体初始化
    message['From'] = sender_address #你自己的邮箱
    message['To'] = recv_address #要发送邮件的邮箱
    message['Subject'] = '发送主题,自己自定义'
    # mail_content,发送内容,这个内容可以自定义,'plain'表示文本格式
    message.attach(MIMEText(mail_content,'plain'))
    # 这里是smtp网站的连接,可以通过谷歌邮箱查看,步骤请看下边
    session = smtplib.SMTP('smtp.gmail.com',587)
    # 连接tls
    session.starttls()
    # 登陆邮箱
    session.login(sender_address,sender_pass)
    # message结构体内容传递给text,变量名可以自定义
    text = message.as_string()
    # 主要功能,发送邮件
    session.sendmail(sender_address,recv_address,text)
    # 打印显示发送成功
    print("send {} successfully".format(recv_address))
    # 关闭连接
    session.quit()

if __name__ == '__main__':
    main_content = '''代码就是这么多
    是不是很简单。
    ok了家人们,记得点一个赞。
    '''
    sendMail(main_content, "你的名字@163.com")


https://blog.csdn.net/u011937684/article/details/127924956

http://www.dtcms.com/a/106440.html

相关文章:

  • PostgreSQL:高级SQL特性
  • 【接口重复请求】axios通过AbortController解决页面切换过快,接口重复请求问题
  • windosw11中的.msi文件打不开该怎么办?
  • [python] python四大数据结构(列表 元组 集合 字典)剖析
  • firefox 136.0.4版本离线安装MarkDown插件
  • JavaScript重难点突破:期约与异步函数
  • 从实用的角度聊聊Linux下文本编辑器VIM
  • LambdaQueryWrapper解释一下
  • Ubuntu 20.04 中 Git 的安装、配置和基本操作指南
  • Element Plus 主题色定制指南:从原理到实战
  • Creating Server TCP listening socket 127.0.0.1:6379: bind: No error
  • L2-001 紧急救援
  • 编译原理:first集和follow
  • Python数据类型 - 元组(Tuple)
  • 第四章:检索器(Retriever)设计:从向量到图谱
  • Windows 实战-evtx 文件分析--做题笔记
  • Qt中的数据解析--XML与JSON处理全攻略
  • 前端开发时的内存泄漏问题
  • 数据结构第6篇:手撕排序算法(插入、希尔、堆)
  • 【通用级联选择器回显与提交处理工具设计与实现】
  • 中和农信:让金融“活水”精准浇灌乡村沃土
  • RustDesk 开源远程桌面软件 (支持多端) + 中继服务器伺服器搭建 ( docker版本 ) 安装教程
  • windows使用Python调用7-Zip【按大小分组】压缩文件夹中所有文件
  • C# Winform 入门(3)之尺寸同比例缩放
  • 山东大学《多核平台下的并行计算》实验笔记
  • Mysql+Demo 获取当前日期时间的方式
  • 17查询文档的方式
  • CASAIM与哈尔滨电气集团达成战略合作,三维智能检测技术赋能电机零部件生产智造升级
  • 【DRAM存储器四十九】LPDDR5介绍--LPDDR5的低功耗技术之power down、deep sleep mode
  • ContextVars 在 FastAPI 中的使用