Skip to main content

python-smime-email

PyPI Downloads

Generate x509 SMIME signed emails with ease!

Usage

  1. Generate the email raw content

    import smime_email
    
    data = b"Hello!"
    SMIME_KEY = smime_email.load_key("key_path.pem")
    SMIME_INTERMEDIATE = smime_email.load_certificates("intermediate_path.pem")
    SMIME_CERT = smime_email.load_certificates("cert_path.pem")[0]
    email_raw_bytes = smime_email.get_smime_attachment_content(data, SMIME_KEY, SMIME_INTERMEDIATE, SMIME_CERT)
    
  2. Send it using any email library you like. Here is an example as Django email backend

    email_raw_bytes = smime_email.get_smime_attachment_content(data, SMIME_KEY, SMIME_INTERMEDIATE, SMIME_CERT)
    # ...
    class EmailBackend(BaseEmailBackend):
        def send_messages(self, message) -> int:
            with smtplib.SMTP(settings.EMAIL_HOST, settings.EMAIL_PORT) as server:
                server.sendmail(message.from_email, message.to, email_raw_bytes)
            return 1
    

Development

The code is formatted with ruff and checked with various linters. To run the whole linting and formatting process, run uv run poe all.

License

Code and documentation copyright 2024-2025 Siemens AG.

See LICENSE.md.

Download files

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

Source Distribution

smime_email-1.0.7.tar.gz (2.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

smime_email-1.0.7-py3-none-any.whl (3.4 kB view details)

Uploaded Python 3

File details

Details for the file smime_email-1.0.7.tar.gz.

File metadata

  • Download URL: smime_email-1.0.7.tar.gz
  • Upload date:
  • Size: 2.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for smime_email-1.0.7.tar.gz
Algorithm Hash digest
SHA256 47d3199f11daa2c813d63bdcc2d1f4439b7883ead13b897bae5cbae5f01ddfa1
MD5 9e087a60c19b0c60e9e26c94d5911781
BLAKE2b-256 44727bada2e4a9dab5037b546e26af8f21dbde091a8661baf3f4f45bb043197f

See more details on using hashes here.

Provenance

The following attestation bundles were made for smime_email-1.0.7.tar.gz:

Publisher: publish.yml on siemens/python-smime-email

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file smime_email-1.0.7-py3-none-any.whl.

File metadata

  • Download URL: smime_email-1.0.7-py3-none-any.whl
  • Upload date:
  • Size: 3.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for smime_email-1.0.7-py3-none-any.whl
Algorithm Hash digest
SHA256 eb389aa0540a3ccd9e0a1f354a4f40e3216ff8e0da2149919f04bce6f1e718b5
MD5 769dfa83c91fd50b66c70e6d40e3e501
BLAKE2b-256 846f2332436527b3827fd4bb261cb8f2f5319f2495c1d34302fe59ed2651b602

See more details on using hashes here.

Provenance

The following attestation bundles were made for smime_email-1.0.7-py3-none-any.whl:

Publisher: publish.yml on siemens/python-smime-email

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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