Skip to main content

outgoing extension for Mailgun

Project description

Project Status: Active — The project has reached a stable, usable state and is being actively developed. CI Status https://codecov.io/gh/jwodder/outgoing-mailgun/branch/master/graph/badge.svg https://img.shields.io/pypi/pyversions/outgoing-mailgun.svg MIT License

GitHub | PyPI | Issues | Changelog

outgoing-mailgun is an extension for outgoing that adds the ability to send e-mails via Mailgun. Simply install outgoing-mailgun alongside outgoing, and you’ll be able to specify “mailgun” as a sending method in your outgoing configuration.

Installation

outgoing-mailgun requires Python 3.7 or higher. Just use pip for Python 3 (You have pip, right?) to install outgoing-mailgun and its dependencies (including outgoing):

python3 -m pip install outgoing-mailgun

Configuration

When using “mailgun” as the sending method in an outgoing configuration, the following configuration fields are recognized:

base-urlHTTP URL (optional)

The base URL to use for Mailgun API requests. This should be either "https://api.mailgun.net" (the default) for domains in Mailgun’s US region or "https://api.eu.mailgun.net" for domains in Mailgun’s EU region. Trailing slashes on the URL are optional.

domainstring (required)

The domain name you registered with Mailgun for sending e-mail

api-keypassword (required)

A Mailgun API key for your domain; see the outgoing documentation on passwords for ways to write this field.

When using the keyring password scheme or another scheme that takes optional host/service and username fields, if the service and/or username is not supplied in the password specifier, then the service defaults to the domain name of the base-url field, and the username defaults to the value of the domain field.

tagslist of strings (optional)

A set of tags to apply to sent e-mails

deliverytimedatetime (optional)

Desired time of delivery for sent e-mails; if no timezone offset is given, it is assumed to be in the local system timezone

dkimboolean (optional)

Enable/disable DKIM signatures on sent e-mails

testmodeboolean (optional)

Whether to send in test mode

trackingboolean (optional)

Whether to enable message tracking

tracking-clicksboolean or "htmlonly" (optional)

Whether to enable clicks tracking in e-mails

tracking-opensboolean (optional)

Whether to enable opens tracking in e-mails

headerstable with string values (optional)

A collection of custom MIME headers to append to sent e-mails

variablestable with string values (optional)

A collection of Mailgun variables to attach to sent e-mails

Example Configuration

[outgoing]
method = "mailgun"
domain = "mydomain.nil"
api-key = { file = "~/secrets/mailgun.key" }
dkim = true
tags = [ "sent-with-outgoing", "my-campaign" ]
tracking-clicks = "htmlonly"
headers = { Reply-To = "me@mydomain.nil" }
variables = { sender = "outgoing", foo = "bar" }

Sender-Specific Behavior

The MailgunSender class provided by this extension is a reentrant and reusable context manager, and its send() method can be called outside of a context. In addition, on success, the send() method returns the message ID of the newly-sent e-mail (without enclosing angle brackets).

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

outgoing-mailgun-0.3.0.tar.gz (10.8 kB view hashes)

Uploaded Source

Built Distribution

outgoing_mailgun-0.3.0-py3-none-any.whl (6.5 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page