Skip to main content

Mock SMTP server that logs incoming messages to stdout as JSON for easy parsing and testing by the hitch framework.

Project description

HitchSMTP

Mock SMTP server that logs all incoming messages to stdout as JSON for easy parsing by HitchServe.

HitchSMTP contains a service definition for use with Hitch, but can also be used alone.

Use with Hitch

Install like so:

$ hitch install hitchsmtp
# Service definition in your test execution engine's setUp
self.services['HitchSMTP'] = hitchsmtp.HitchSMTPService(
    port=10025                                                 # Optional (default: 10025)
)

# Wait for email during test...
containing = "Registration email"

email = self.services['HitchSMTP'].logs.out.tail.until_json(
    lambda email: containing in email['payload'] or containing in email['Subject'],
    timeout=5,
    lines_back=1,
)

See this service in action at the DjangoRemindMe project.

Bad SMTP Server

You can send to specific email addresses to mock most SMTP errors.

E.g. Sending an email to 451-please-try-again-later@smtperrors.com will cause the “451 Please try again later” SMTP error.

For a full list of these errors and the email address @ smtperrors.com that will trigger them, see:

https://github.com/hitchtest/hitchsmtp/blob/master/hitchsmtp/smtperrors.py

Features

  • Logs all details about emails received by the SMTP server as easily parsed JSON.
  • Parses links in your emails automatically so that you can check just for links in emails and ‘click’ on them.
  • Can also mock SMTP errors.

Project details


Download files

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

Filename, size & hash SHA256 hash help File type Python version Upload date
hitchsmtp-0.2.1.tar.gz (5.5 kB) Copy SHA256 hash SHA256 Source None

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page