VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > Python基础教程 >
  • python基础教程之yagmail 邮箱的使用

文章来源:GITHub:https://github.com/kootenpv/yagmail

  1. 安装
pip3 install yagmail
pip3 install keyring

 

  1. 简单例子
import yagmail
yag = yagmail.SMTP(user = 'xxx@163.com', password = 'xxx', host = 'smtp.163.com')
yag.send(to = 'xxx@163.com', subject = 'This is subject', contents = 'This is content')

 

注意:

  • 如果你的邮箱没有开通IMAP/POP3/SMTP服务,就会提示如下错误信息:
    smtplib.SMTPAuthenticationError: (550, b'User has no permission')
    以163邮箱为例,解决方案在网页上登录自己邮箱,点击“设置->POP3/SMTP/IMAP”,勾选“POP3/STMP服务”和“IMAP/STMP服务”,弹窗会提示你设置授权码,点击“确定”,点击“开启”,通过验证后,即可开启。记住自己输入的授权码,在password中输入授权码,即可登录。
  • 如果程序运行没出错,而目标邮箱没有收到邮件,请检查垃圾箱。
  1. 给多个邮箱发邮件
1
yag.send(to = ['aa@163.com','bb@qq.com','cc@gmail.com'], 'subject''contents')

  

  1. 发送附件
1
2
yag.send(to = 'xxx@163.com', subject = 'subject',
         contents = ['hello''C:\\Users\\Desktop\\test.txt'])

  

注意:如果邮件发送之后被退回,那么程序不会显示任何错误信息,但是发件人的邮箱会有退信邮件。

  1. 更多细节
1
yagmail.register('mygmailusername''mygmailpassword')

  

以下是项目介绍:

yagmail -- Yet Another GMAIL/SMTP client

Join the chat at https://gitter.im/kootenpv/yagmail PyPI PyPI

这里的目标是尽可能简单,无痛地发送电子邮件。

最后,您的代码将如下所示:

import yagmail
yag = yagmail.SMTP()
contents = ['This is the body, and here is just text http://somedomain/image.png',
            'You can find an audio file attached.', '/local/path/song.mp3']
yag.send('to@someone.com', 'subject', contents)

 

或者简单的单行:

1
yagmail.SMTP('mygmailusername').send('to@someone.com''subject''This is the body')

  

请注意,它将从您的密钥环安全地读取密码(如下所示)。如果您不想这样,您也可以使用以下内容进行初始化:

1
yag = yagmail.SMTP('mygmailusername''mygmailpassword')

  

但老实说,你想在你的脚本中写下你的密码吗?

同样,我使用我的用户名.yagmail在我的主文件夹中命名的文件中。

目录

 

部分 说明
安装 在此处查找有关如何安装yagmail的说明
用户名和密码 不再需要在脚本中填写用户名和密码
开始连接 开始吧
可用性 显示发送的一些使用模式
收件人 如何发送给多个人,给别名或发送给自己
神奇的内容 真的很容易发送文本,HTML,图像和附件
反馈 如何向我发送反馈
路线图(和优先事项)
错误 处理发送电子邮件的人员的常见错误列表

安装

对于Python 2.x和Python 3.x分别:

1
2
pip install yagmail[all]
pip3 install yagmail[all]

  

如果您在安装密钥环时遇到问题,请尝试不安装,即pip install yagmail

作为旁注,yagmail现在还可以用于从命令行发送电子邮件。

 

用户名和密码

钥匙圈引用:

The Python keyring lib provides a easy way to access the system keyring service from python. It can be used in any application that needs safe password storage.

你知道你想要它。通过打开Python解释器并运行来设置它:

1
2
import yagmail
yagmail.register('mygmailusername''mygmailpassword')

  

事实上,它只是一个包装keyring.set_password('yagmail', 'mygmailusername', 'mygmailpassword')

如果未给出密码且密钥环中未找到用户,