多种电子邮件方法的通用接口
项目描述
GitHub | PyPI | 文档 | 问题 | 变更日志
outgoing提供对多种不同的电子邮件发送方法(SMTP、sendmail、mbox等)的通用接口。只需从配置文件或对象中构建一个发送者,传递一个EmailMessage实例,然后让神奇的网络守护进程处理其他事情。
outgoing本身仅提供基本发送方法的支持;其他方法由扩展包提供。
有关更多信息,请参阅文档。
安装
outgoing需要Python 3.8或更高版本。只需使用Python 3的pip安装outgoing及其依赖项
python3 -m pip install outgoing
示例
示例配置文件
[outgoing]
method = "smtp"
host = "mx.example.com"
ssl = "starttls"
username = "myname"
password = { file = "~/secrets/smtp-password" }
基于配置文件发送电子邮件
from email.message import EmailMessage
import outgoing
# Construct an EmailMessage object the standard Python way:
msg = EmailMessage()
msg["Subject"] = "Meet me"
msg["To"] = "my.beloved@love.love"
msg["From"] = "me@here.qq"
msg.set_content(
"Oh my beloved!\n"
"\n"
"Wilt thou dine with me on the morrow?\n"
"\n"
"We're having hot pockets.\n"
"\n"
"Love, Me\n"
)
# Construct a sender object based on the default config file (assuming it's
# populated)
with outgoing.from_config_file() as sender:
# Now send that letter!
sender.send(msg)
作为使用配置文件之外的替代方案,您可以通过传递配置结构到 outgoing.from_dict() 方法来显式指定配置,如下所示
from email.message import EmailMessage
import outgoing
# Construct an EmailMessage object using the eletter library
# <https://github.com/jwodder/eletter>:
from eletter import compose
msg1 = compose(
subject="No.",
to=["me@here.qq"],
from_="my.beloved@love.love",
text=(
"Hot pockets? Thou disgusteth me.\n"
"\n"
"Pineapple pizza or RIOT.\n"
),
)
msg2 = compose(
subject="I'd like to place an order.",
to=["pete@za.aa"],
from_="my.beloved@love.love",
text="I need the usual. Twelve Hawaiian Abominations to go, please.\n",
)
SENDING_CONFIG = {
"method": "smtp",
"host": "smtp.love.love",
"username": "my.beloved",
"password": {"env": "SMTP_PASSWORD"},
"ssl": "starttls",
}
with outgoing.from_dict(SENDING_CONFIG) as sender:
sender.send(msg1)
sender.send(msg2)
项目详情
下载文件
下载适合您平台的文件。如果您不确定该选择哪个,请了解有关安装包的更多信息。
源分发
outgoing-0.6.1.tar.gz (34.5 kB 查看哈希值)
构建分发
outgoing-0.6.1-py3-none-any.whl (19.4 kB 查看哈希值)