API引用

此页显示的是 yagmail 的API。

认证

yagmail.register(username, password)[源代码]

使用这个可以在你的操作系统的keyring中添加一个新的gmail帐户,这样它就可以在yagmail中使用了

另一种身份验证方法是通过传递 oauth2_fileyagmail.SMTP ,这是最安全的身份验证方法之一。请看 OAuth2 sectionREADME 更多详情。

也可以简单地将密码传递给 yagmail.SMTP . 如果没有给出密码,yagmail将提示用户输入密码,然后将结果存储在keyring中。

SMTP客户端

class yagmail.SMTP(user=None, password=None, host='smtp.gmail.com', port=None, smtp_starttls=None, smtp_ssl=True, smtp_set_debuglevel=0, smtp_skip_login=False, encoding='utf-8', oauth2_file=None, soft_email_validation=True, dkim=None, **kwargs)[源代码]

yagmail.SMTP 是一个神奇的包装 smtplib 的SMTP连接,并允许发送邮件。

close()[源代码]

关闭与SMTP服务器的连接

feedback(message='Awesome features! You made my day! How can I contribute?')[源代码]

最重要的功能。请给我反馈:-)

send(to=None, subject=None, contents=None, attachments=None, cc=None, bcc=None, preview_only=False, headers=None, prettify_html=True, message_id=None, group_messages=True)[源代码]

使用此选项可使用gmail发送电子邮件

send_unsent()[源代码]

无法发送的电子邮件将存储在 self.unsent . 使用此函数可尝试再次发送这些

set_logging(log_level=40, file_path_name=None)[源代码]

此函数允许更改日志记录后端,无论是作为后端的输出还是文件,它还允许设置日志记录级别(是否只显示critical/error/info/debug。例如::

yag = yagmail.SMTP()
yag.set_logging(yagmail.logging.DEBUG)  # to see everything

和:

yagmail.set_logging(yagmail.logging.DEBUG, 'somelocalfile.log')

最后,日志级别 None 将确保没有I/O。

电子邮件内容

class yagmail.raw[源代码]

确保字符串被视为文本,不会收到“magic”。

class yagmail.inline[源代码]

仅当希望内联图像而不是附加图像时才需要

例外情况

包含例外情况

exception yagmail.error.YagAddressError[源代码]

这意味着地址的格式无效。注意From可以是字符串,也可以是字典,其中键是电子邮件,值是别名{'sample@gmail.com'山姆'}。在“to”的情况下,它可以是字符串(email)、电子邮件列表(没有别名的电子邮件地址)或字典,其中键是电子邮件地址,值表示别名。此外,它不验证电子邮件是否存在。

exception yagmail.error.YagConnectionClosed[源代码]

连接对象已被用户关闭。此对象可用于在登录后再次发送电子邮件,使用self.login登录().

exception yagmail.error.YagInvalidEmailAddress[源代码]

注意,这只会过滤掉emailaddresses中的语法错误。如果一个人认为这可能是一封有效的电子邮件,它很可能会通过。但是,实际的emailaddress可能还没有被任何人声明(所以这个函数不能贬值)。

公用事业

yagmail.validate.validate_email_with_regex(email_address)[源代码]

注意,这只会过滤掉emailaddresses中的语法错误。如果一个人认为这可能是一封有效的电子邮件,它很可能会通过。但是,实际的emailaddress可能还没有被任何人声明(所以这个函数不能贬值)。