这篇文章给大家介绍如何用自定义函数进行Python发送电子邮件,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。
大概是在一个多月前,有个朋友问我如何使用Python发送邮件,说心里话这方面的操作在我之前的工作履历中真的没有碰到,所以当时我没能很好地帮他解决这个问题。但这个问题我也一直再思考,如果将来我也碰到了这个问题怎么办?总不能临时抱佛脚吧,必须得未雨绸缪。
发生邮件前必须准备好一些基本信息,例如发件人邮箱地址、发件人邮箱密码、收件人邮箱地址、发件人昵称、收件人昵称、邮件主题以及邮件内容等。这些内容都属于定制化的,那么剩余的就应该是邮件发送了。使用Python发送邮件需要使用到email模块(主要用于邮件的配置)和smtplib模块(用于邮件的发送),接下来我们动手搞起吧!(这里以我的QQ邮箱为例,向其他邮件发送内容。)
考虑到大家对代码的理解,我在自定义函数中都配备相应的注解,大家如果还有哪些不明白的地方可以留言。需要注意的是,如果你也使用QQ邮箱做测试,必须配置第三方客户端邮箱的授权码,否则邮件是发布出去的。
授权码的配置
登录自己的QQ邮箱;
点击邮箱中的【设置】,进入【帐户】栏,下拉你会看见如下的截图:
点击图中的【开启】,根据下图的提示,发送短信,你将会获得授权码(这个授权码用于配置自定义函数mail中的my_pass参数)。
邮件测试
如果上面的授权码都配置OK了,就可以使用上面的9行自定义函数,快乐地测试起来啦!这里以qq邮箱作为发送方,以我的163邮箱作为接收方,代码如下:
try: mail_msg =""" <p>尊敬的刘顺祥:</p> <p>您好,非常抱歉打扰到您,这是一份Python 的邮件测试,看见后可以忽略。</p> <p><a href="https://mp.weixin.qq.com/s/fEs__JCPifFDdL-1dM_6Qw">2个多月近600页的数据分析与挖掘PPT分享给您!</a></p> """ # 调用函数(登录密码需要换成你自己的) mail('1029776077@qq.com','kjwpzipnmbfbb','lsxxx2011@163.com','刘顺祥','刘顺祥',mail_msg) print('邮件发送成功!')except: print('邮件发送失败!')
如果不出意外的话,函数的运行结果将是“邮件发送成功!”,然后回到我的163邮箱,将会是看见这样的效果:
批量发送
你可能会觉得,发一份邮件有这么麻烦吗?我直接登录邮箱发送就是啦。可问题时,工作场景中可能需要向目标客户发送批量邮件,此时你再通过手动方式,效率就显得渣渣啦。要想实现邮件的批量发送,最容易想到的就应该是for循环啦。这里跟朋友要了邮箱做为测试,代码如下:
惊喜不断,全都发送成功,而且速度也非常的快,三份邮件的发送,估计就1秒钟左右吧。效果是这样的:
关于如何用自定义函数进行Python发送电子邮件就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。