首页 后端开发 Python教程 使用 Python SMPT 和 Gmail 发送电子邮件很简单!

使用 Python SMPT 和 Gmail 发送电子邮件很简单!

Nov 02, 2024 pm 01:06 PM

向其他人发送电子邮件是一件很重要的事情,在开发中它可以用来发送一些代码,如 OTP、PIN、身份验证等

最近,我有一个项目,需要我能够向用户发送电子邮件以获取 OTP 代码,结果非常简单。

这是我所做的基本步骤:

首先,您需要通过允许两步验证设置您的Google帐户,以便能够用于发送电子邮件(如果完成,请跳过此步骤)。

  • 打开您的 Google 帐户。
  • 在导航面板中,选择安全
  • 在“您如何登录 Google”下,选择两步验证,然后开始
  • 按照屏幕上的步骤操作。 开启两步验证

其次,创建一个应用程序密码(16 位密码,允许安全性较低的应用程序或设备访问您的 Google 帐户)。

  • 确保允许两步验证。
  • 打开创建和管理您的应用程序密码。
  • 添加应用程序的名称(无论你喜欢什么),生成的密码将如下所示: Send Email with Python SMPT and Gmail is Easy!
  • 保存密码(稍后会用到),不要分享给任何人哦。

最后,这是 python 中用于发送电子邮件的基本代码:

import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
# creates SMTP session
s = smtplib.SMTP('smtp.gmail.com', 587)
# start TLS for security
s.starttls()
# Authentication
s.login("your_email@gmail.com", "yyaz pgow khtd xeqn")


# Create a multipart message
msg = MIMEMultipart()
msg['From'] = "your_email@gmail.com"
msg['To'] = "send_to_email@gmail.com"
msg['Subject'] = "Subject of the Email"
message = "How are you mate? This is a test email sent using Python"

# Attach the message body
msg.attach(MIMEText(message, 'plain'))

# Send the email
s.send_message(msg)
# terminating the session
s.quit()
  • 使用已设置的Google帐户(两步验证)和使用您的电子邮件已生成的应用程序密码作为参数s.login() 就像上面的代码。
  • 运行它,这是一个有效的示例:

Send Email with Python SMPT and Gmail is Easy!

如果您遇到任何困难,请随时提问:)

来源

  • https://stackoverflow.com/questions/75021886/gmail-smtp-send-535-5-7-8-username-and-password-not-accepted
  • https://support.google.com/accounts/answer/185839?sjid=7869472629511530464-AP)
  • https://support.google.com/accounts/answer/185833?hl=en)

以上是使用 Python SMPT 和 Gmail 发送电子邮件很简单!的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

Python类中的多态性 Python类中的多态性 Jul 05, 2025 am 02:58 AM

多态是Python面向对象编程中的核心概念,指“一种接口,多种实现”,允许统一处理不同类型的对象。1.多态通过方法重写实现,子类可重新定义父类方法,如Animal类的speak()方法在Dog和Cat子类中有不同实现。2.多态的实际用途包括简化代码结构、增强可扩展性,例如图形绘制程序中统一调用draw()方法,或游戏开发中处理不同角色的共同行为。3.Python实现多态需满足:父类定义方法,子类重写该方法,但不要求继承同一父类,只要对象实现相同方法即可,这称为“鸭子类型”。4.注意事项包括保持方

如何在Python中产生随机字符串? 如何在Python中产生随机字符串? Jun 21, 2025 am 01:02 AM

要生成随机字符串,可以使用Python的random和string模块组合。具体步骤为:1.导入random和string模块;2.定义字符池如string.ascii_letters和string.digits;3.设定所需长度;4.调用random.choices()生成字符串。例如代码包括importrandom与importstring、设置length=10、characters=string.ascii_letters string.digits并执行''.join(random.c

我如何写一个简单的'你好,世界!” Python的程序? 我如何写一个简单的'你好,世界!” Python的程序? Jun 24, 2025 am 12:45 AM

"Hello,World!"程序是用Python编写的最基础示例,用于展示基本语法并验证开发环境是否正确配置。1.它通过一行代码print("Hello,World!")实现,运行后会在控制台输出指定文本;2.运行步骤包括安装Python、使用文本编辑器编写代码、保存为.py文件、在终端执行该文件;3.常见错误有遗漏括号或引号、误用大写Print、未保存为.py格式以及运行环境错误;4.可选工具包括本地文本编辑器 终端、在线编辑器(如replit.com)

Python中的算法是什么?为什么它们很重要? Python中的算法是什么?为什么它们很重要? Jun 24, 2025 am 12:43 AM

AlgorithmsinPythonareessentialforefficientproblem-solvinginprogramming.Theyarestep-by-stepproceduresusedtosolvetaskslikesorting,searching,anddatamanipulation.Commontypesincludesortingalgorithmslikequicksort,searchingalgorithmslikebinarysearch,andgrap

什么是python的列表切片? 什么是python的列表切片? Jun 29, 2025 am 02:15 AM

ListslicinginPythonextractsaportionofalistusingindices.1.Itusesthesyntaxlist[start:end:step],wherestartisinclusive,endisexclusive,andstepdefinestheinterval.2.Ifstartorendareomitted,Pythondefaultstothebeginningorendofthelist.3.Commonusesincludegetting

python`@classmethod'装饰师解释了 python`@classmethod'装饰师解释了 Jul 04, 2025 am 03:26 AM

类方法是Python中通过@classmethod装饰器定义的方法,其第一个参数为类本身(cls),用于访问或修改类状态。它可通过类或实例调用,影响的是整个类而非特定实例;例如在Person类中,show_count()方法统计创建的对象数量;定义类方法时需使用@classmethod装饰器并将首参命名为cls,如change_var(new_value)方法可修改类变量;类方法与实例方法(self参数)、静态方法(无自动参数)不同,适用于工厂方法、替代构造函数及管理类变量等场景;常见用途包括从

如何使用CSV模块在Python中使用CSV文件? 如何使用CSV模块在Python中使用CSV文件? Jun 25, 2025 am 01:03 AM

Python的csv模块提供了读写CSV文件的简单方法。1.读取CSV文件时,可使用csv.reader()逐行读取,并将每行数据作为字符串列表返回;若需通过列名访问数据,则可用csv.DictReader(),它将每行映射为字典。2.写入CSV文件时,使用csv.writer()并调用writerow()或writerows()方法写入单行或多行数据;若要写入字典数据,则使用csv.DictWriter(),需先定义列名并通过writeheader()写入表头。3.处理边缘情况时,模块自动处理

Python函数参数和参数 Python函数参数和参数 Jul 04, 2025 am 03:26 AM

参数(parameters)是定义函数时的占位符,而传参(arguments)是调用时传入的具体值。1.位置参数需按顺序传递,顺序错误会导致结果错误;2.关键字参数通过参数名指定,可改变顺序且提高可读性;3.默认参数值在定义时赋值,避免重复代码,但应避免使用可变对象作为默认值;4.args和*kwargs可处理不定数量的参数,适用于通用接口或装饰器,但应谨慎使用以保持可读性。

See all articles