使用 ChatGPT 帮助小学生编程入门系列之二:使用 Python 编程发送电子邮件

简介: 使用 ChatGPT 帮助小学生编程入门系列之二:使用 Python 编程发送电子邮件

本系列前一篇文章,我们已经介绍了如何使用 Python 编写一段代码,将搜索引擎上找到的天气预报网站上的信息,读取到本地:

使用 ChatGPT 帮助小学生编程入门系列之一:Python 编程读取和解析天气预报网页上的数据


本文我们再进一步,目标是把一段文本,通过 Python 发送到指定的邮箱去。

学会这个方法之后,我们还能把前面一篇文章的成果结合起来,比如把天气预报信息,用 Python 读取出来,然后发送到指定邮箱去。


向 ChatGPT 发出指令:

你是一个资深的 Python 技术专家,请你编写一段 Python 代码,将一个字符串值通过电子邮件,发送到指定的邮箱中去。


得到源代码:

我使用网易邮箱进行测试,把源代码拷贝到我本地后,稍作修改,主要是将我网易邮箱的用户名和 password,硬编码到代码里去,然后把网易邮箱的 SMTP 服务器地址和端口,填写到代码中去。


总共 31 行代码:

发送的正文,硬编码在代码第 19 行。

执行 Python 代码,出错了,遇到如下错误消息:smtplib.SMTPAuthenticationError: (550, b’User has no permission’)


其实这个错误不怪 ChatGPT,因为 ChatGPT 上面的回复里,已经明确提醒过我们:


为了使用Gmail SMTP服务器,你需要允许"不够安全的应用"访问你的账户。你可以在Google帐户的"安全性"设置中更改这个选项。如果你启用了两步验证,你需要生成一个应用专用密码来代替你的常规密码。


对于小朋友来说,可能不太明白上面这句话。不要紧,再次求助 ChatGPT:

你是一个资深的 Python 技术专家,我用下面的 Python 代码发送电子邮件:

server = smtplib.SMTP(smtp_server, port)
server.starttls()
server.login(sender_email, password)

我的 sender_email 和 password 分别维护了我的电子邮箱账号和登录密码,我在网页端也能使用这个用户名和密码登录,但是执行代码时遇到错误消息:


raise SMTPAuthenticationError(code, resp)
smtplib.SMTPAuthenticationError: (550, b'User has no permission')


请问如何解决?


ChatGPT 的回复答到了点子上。


1.这个错误提示"用户没有权限",可能是由于以下几个原因:


2.邮箱服务提供商需要更高级别的权限才能使用 SMTP。你可能需要在你的邮箱设置中启用"允许不够安全的应用"或者"允许第三方应用"。

你可能需要为你的应用程序生成一个特定的密码。一些服务提供商(如 Google、Yahoo 等)提供了这种功能,让你可以生成一个特殊的应用密码,以便在不直接使用你的主密码的情况下授权应用程序的访问。

b115cb98b71aee8218b7239766728a29_format,png.png

确实,出于安全考虑,国内外主流的邮件提供商,默认情况都没有开启允许第三方应用使用 SMTP.


我们登录网易邮箱,选择配置->POP3/SMTP/IMAP:


e4bc6f74e8c7d1f8b1ddb67d179fa5c8.png


然后开启 POP3/SMTP 服务即可:


5dbd928844e9b514735345edbd98f208.png


这里网易邮箱会生成一个专门的授权码,我们可以理解成调用 API 时需要传入的 Access Token:


980db13ce86650537b625b7d464c06df.png


把这个授权码写入代码第 10 行的 password 变量中:


9bb17c56800e70fca6503b0a59e8808b.png


大功告成。执行 Python 代码,然后到收件人邮箱中查看,果然收到了一封标题为 Python Email Test(上图代码第 16 行指定),正文由上图代码第 19 行指定的邮件。


ChatGPT 再次帮助我们成功完成了一个编程任务。

138fff5de941ee86899dce987ae22a04.png


更多阅读

相关文章
|
2天前
|
数据采集 机器学习/深度学习 人工智能
Python编程入门:从基础到实战
【10月更文挑战第24天】本文将带你进入Python的世界,从最基础的语法开始,逐步深入到实际的项目应用。我们将一起探索Python的强大功能和灵活性,无论你是编程新手还是有经验的开发者,都能在这篇文章中找到有价值的内容。让我们一起开启Python的奇妙之旅吧!
|
3天前
|
设计模式 监控 数据库连接
Python编程中的设计模式之美:提升代码质量与可维护性####
【10月更文挑战第21天】 一段简短而富有启发性的开头,引出文章的核心价值所在。 在编程的世界里,设计模式如同建筑师手中的蓝图,为软件的设计和实现提供了一套经过验证的解决方案。本文将深入浅出地探讨Python编程中几种常见的设计模式,通过实例展示它们如何帮助我们构建更加灵活、可扩展且易于维护的代码。 ####
|
4天前
|
数据采集 存储 数据库
Python中实现简单爬虫的入门指南
【10月更文挑战第22天】本文将带你进入Python爬虫的世界,从基础概念到实战操作,一步步指导你如何使用Python编写一个简单的网络爬虫。我们将不展示代码示例,而是通过详细的步骤描述和逻辑讲解,帮助你理解爬虫的工作原理和开发过程。无论你是编程新手还是有一定经验的开发者,这篇文章都将为你打开一扇通往数据收集新世界的大门。
|
2天前
|
测试技术 开发者 Python
探索Python中的装饰器:从入门到实践
【10月更文挑战第24天】 在Python的世界里,装饰器是一个既神秘又强大的工具。它们就像是程序的“隐形斗篷”,能在不改变原有代码结构的情况下,增加新的功能。本篇文章将带你走进装饰器的世界,从基础概念出发,通过实际例子,逐步深入到装饰器的高级应用,让你的代码更加优雅和高效。无论你是初学者还是有一定经验的开发者,这篇文章都将为你打开一扇通往高效编程的大门。
|
4天前
|
存储 人工智能 数据挖掘
Python编程入门:构建你的第一个程序
【10月更文挑战第22天】编程,这个听起来高深莫测的词汇,实际上就像搭积木一样简单有趣。本文将带你走进Python的世界,用最浅显的语言和实例,让你轻松掌握编写第一个Python程序的方法。无论你是编程新手还是希望了解Python的爱好者,这篇文章都将是你的理想起点。让我们一起开始这段奇妙的编程之旅吧!
12 3
|
2天前
|
机器学习/深度学习 人工智能 算法
机器学习基础:使用Python和Scikit-learn入门
机器学习基础:使用Python和Scikit-learn入门
9 1
|
3天前
|
Python
Python编程中正则表达式的使用
【10月更文挑战第22天】正则表达式,一种强大的文本处理工具,在Python编程中有着广泛的应用。本文将介绍如何使用Python中的re库来使用正则表达式,包括如何创建、匹配、查找和替换字符串等。通过学习本文,你将能够掌握Python中正则表达式的基本使用方法。
|
4天前
|
数据采集 机器学习/深度学习 数据可视化
深入浅出:用Python进行数据分析的入门指南
【10月更文挑战第21天】 在信息爆炸的时代,掌握数据分析技能就像拥有一把钥匙,能够解锁隐藏在庞大数据集背后的秘密。本文将引导你通过Python语言,学习如何从零开始进行数据分析。我们将一起探索数据的收集、处理、分析和可视化等步骤,并最终学会如何利用数据讲故事。无论你是编程新手还是希望提升数据分析能力的专业人士,这篇文章都将为你提供一条清晰的学习路径。
|
6月前
|
人工智能 Java Python
python入门(二)安装第三方包
python入门(二)安装第三方包
|
21天前
|
机器学习/深度学习 Python
【10月更文挑战第5天】「Mac上学Python 6」入门篇6 - 安装与使用Anaconda
本篇将详细介绍如何在Mac系统上安装和配置Anaconda,如何创建虚拟环境,并学习如何使用 `pip` 和 `conda` 管理Python包,直到成功运行第一个Python程序。通过本篇,您将学会如何高效地使用Anaconda创建和管理虚拟环境,并使用Python开发。
49 4
【10月更文挑战第5天】「Mac上学Python 6」入门篇6 - 安装与使用Anaconda

热门文章

最新文章