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

getpass.getpass()则用于提示用户输入密码。进入此一次后,它可以存储在钥匙圈中,永远不会再问。

另一个便利是将.yagmail文件保存在您的主文件夹中,只包含电子邮件用户名。然后,您可以省略所有内容,只需使用yagmail.SMTP()连接即可。当然,这不适用于更多帐户,但它可能是一个很好的默认值。根据要求,我会考虑在此.yagmail文件中添加更多详细信息(主机,端口和其他设置)。

 

开始连接

1
yag = yagmail.SMTP('mygmailusername')

  

请注意,此连接是可重用的,可关闭的,当它离开范围时,它将在CPython中自行清理。

正如tilgovi在#39中指出的那样,SMTP不会在PyPy中自动关闭。with在这种情况下应该使用上下文管理器。

 

可用性

定义一些变量:

1
2
3
4
5
6
7
to = 'santa@someone.com'
to2 = 'easterbunny@someone.com'
to3 = 'sky@pip-package.com'
subject = 'This is obviously the subject'
body = 'This is obviously the body'
html = '<a href="https://pypi.python.org/pypi/sky/">Click me!</a>'
img = '/local/file/bunny.png'

  

所有变量都是可选的,并且知道甚至to不需要(您将向自己发送电子邮件):

1
2
3
yag.send(to = to, subject = subject, contents = body)
yag.send(to = to, subject = subject, contents = [body, html, img])
yag.send(contents = [body, img])

  

此外,如果您不想明确,可以执行以下操作:

1
yag.send(to, subject, [body, img])

  

 

收件人

也可以通过提供电子邮件字符串列表而不是单个字符串来发送给一组人:

1
2
3
4
yag.send(to = to)
yag.send(to = [to, to2]) # List or tuples for emailadresses *without* aliases
yag.send(to = {to : 'Alias1'}) # Dictionary for emailaddress *with* aliases
yag.send(to = {to : 'Alias1', to2 : 'Alias2'}

  

不做任何to争论将向您自己发送电子邮件。从这个意义上讲,yagmail.SMTP().send()已经可以发送电子邮件了。请注意,如果未使用显式,则将to = ...使用第一个参数发送到。可以避免像: