Skip to main content

使用 boto3 通过 AWS SES 发送电子邮件,支持配置集

项目描述

航空邮递员

https://img.shields.io/pypi/v/airmailer.svg https://img.shields.io/travis/cmalek/airmailer.svg 文件状态

使用普通 SMTP 或 AWS SES 发送电子邮件。

  • 免费软件:Apache 软件许可证 2.0

  • 文档:https ://airmailer.readthedocs.io 。

安装

首先,安装airmailer

$ pip install airmailer

用法:SMTP

from airmailer.backend import SMTPEmailBackend

backend = SMTPEmailBackend(
    'smtp.example.com',
    username='example',
    password='password'
    use_tls=True
)
num_sent = backend.send_mail(
    'Example Subject',
    'Here is my message',
    'from@example.com',
    ['to@destination.com'],
    html_message='<p>here is my HTML message</p>'
)

用途:SES

AWS IAM 政策

像这样创建一个 IAM 策略,并将其附加到您的 EC2 实例配置文件、ECS 任务角色等:

{
   "Version": "2012-10-17",
   "Statement": [
      {
         "Effect": "Allow",
         "Action": ["ses:SendRawEmail"],
         "Resource":"*"
      }
   ]
}

您可以使用显式凭据调用SESEmailBackend,也可以让它从环境中读取凭据。

显式凭据

from airmailer.backend import SESEmailBackend

backend = SESEmailBackend(
    aws_access_key_id="__THE_ACCESS_KEY_ID__",
    aws_secret_access_key="__THE_SECRET_ACCESS_KEY__",
    aws_region_name="__THE_REGION_NAME__",
    configuration_set_name='example'
)
num_sent = backend.send_mail(
    'Example Subject',
    'Here is my message',
    'from@example.com',
    ['to@destination.com'],
    html_message='<p>here is my HTML message</p>'
)

或者

from airmailer.backend import SESEmailBackend
from botocore.config import Config

my_config = Config(
    aws_access_key_id="__THE_ACCESS_KEY_ID__",
    aws_secret_access_key="__THE_SECRET_ACCESS_KEY__",
    region_name="__THE_REGION_NAME__",
)

backend = SESEmailBackend(
    aws_config=my_config,
    configuration_set_name='example'
)

来自环境的凭据

以Boto3 配置指南中指定的任何方式配置您的凭据。

然后:

from airmailer.backend import SESEmailBackend

backend = SESEmailBackend(configuration_set_name='example')
num_sent = backend.send_mail(
    'Example Subject',
    'Here is my message',
    'from@example.com',
    ['to@destination.com'],
    html_message='<p>here is my HTML message</p>'
)

历史

0.1.0 (2021-11-30)

  • PyPI 上的第一个版本。

项目详情


下载文件

下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。

源分布

airmailer-0.1.2.tar.gz (20.2 kB 查看哈希

已上传 source

内置分布

airmailer-0.1.2-py2.py3-none-any.whl (15.7 kB 查看哈希

已上传 py2 py3