Skip to main content

Sends a test email via SMTP, and checks that it was received via IMAP

Project description

This packages sends a test email via SMTP, and checks that it was received via IMAP. Requires Python 3.x, since the stdlib in 2.x is missing too many features in this area.

Usage

Create a configuration file:

[default]
recipient = test@example.com
smtp_host = smtp.example.com:25
imap_host = imap.example.com:143
imap_username = test@example.com
imap_password = secret

Now run mail-check-roundtrip example.conf. It will send a message with a random string in the X-Mailcheck-Token header, and then poll until receive_timeout to see if a message with that string was rececived (this message is then deleted). The exit status is 0 if sucessful, 1 on errors (e.g. connection failed) and 2 if the message could not be found.

Options

The following configuration options are supported and these are their defaults:

[default]
recipient = # REQUIRED
from = # defaults to recipient
headers = # default empty
    Subject: This is a test
    X-Custom-Header: one

smtp_host = localhost:25
smtp_ssl = starttls  # or `ssl` or `none` (not recommended)
smtp_username =
smtp_password =

imap_host = localhost:143
imap_ssl = starttls  # or `ssl` or `none` (not recommended).
imap_username = # REQUIRED
imap_password = # REQUIRED
imap_folder = INBOX

poll_timeout = 60
poll_interval = 10
poll_delete = true  # Delete the message after it was found
loglevel = WARNING  # This means no output for a successful run.

CHANGES

1.0.5 (2023-04-04)

Changes

  • Switch from setup.py to pyproject.toml (wheel)

1.0.5 (2023-04-04)

Changes

  • Switch from setup.py to pyproject.toml (wheel)

1.0.4 (2021-08-15)

  • Reduce loglevel for smtp/imap errors to prevent stdout output.

1.0.3 (2019-02-26)

  • Catch smtp/imap errors and exit, so we don’t produce output on stdout (which is annoying in cronjobs).

1.0.2 (2018-04-08)

  • Fix typo in console script name.

1.0.1 (2018-04-07)

  • Fix typo because smtplib.starttls has context and imaplib.starttls has ssl_context as the kw name, sigh.

1.0.0 (2018-04-07)

  • First release.

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

ws.mailcheck-1.0.5.tar.gz (4.0 kB view hashes)

Uploaded Source

Built Distribution

ws.mailcheck-1.0.5-py3-none-any.whl (4.2 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