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.

Source Distribution

hitchsmtp-0.2.1.tar.gz (5.5 kB view details)

Uploaded Source

File details

Details for the file hitchsmtp-0.2.1.tar.gz.

File metadata

  • Download URL: hitchsmtp-0.2.1.tar.gz
  • Upload date:
  • Size: 5.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for hitchsmtp-0.2.1.tar.gz
Algorithm Hash digest
SHA256 26bfaafc642336a21d491209703f4d0ebdef432121d223400e6cd80acb09db69
MD5 b9307bb3c152e3d4dd3fa69c51958a4d
BLAKE2b-256 88cb0bccddb5167a0f89daaf515c34734131b3fb0d0a3e30e7721f3b30b3efdc

See more details on using hashes here.

Supported by

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