Skip to main content

A simple email sender utility

Project description

PyCourrier

PyCourrier is a Python package that simplifies composing and sending emails using SMTP. This package allows you to connect to an SMTP server, set up email content (including plain text, HTML, and attachments), specify recipients, and send emails seamlessly.

Features

  • Connect to SMTP servers (supports both SSL and TLS connections).
  • Compose emails with plaintext, HTML, and attachments.
  • Set multiple recipients for each email.
  • Easily send emails to all recipients with a single function call.

Installation

You can install PyCourrier using pip:

pip install PyCourrier

Usage

Here's a quick guide on how to use MailSender:

from PyCourrier import MailSender, run

async def main():
    # Create a MailSender instance within a context manager
    with MailSender('your_email@gmail.com', 'your_generated_app_password') as sender:

        # Set recipients
        recipients = ['recipient1@gmail.com', 'recipient2@gmail.com', 'recipient3@gmail.com']
        sender.set_recipients(recipients)

        # Set email message details
        in_subject='Hello from PyCourrier!'
        in_plaintext='This is the plain text content of the email.'
        in_htmltext='<p>This is the HTML content of the email.</p> (optional)'

        # Add attachments (optional)
        sender.add_attachment('path/to/attachment', 'filename')

        # set the message
        sender.set_message(in_plaintext=in_plaintext, in_subject=in_subject, in_htmltext=in_htmltext)
        await sender.send_all_async()


# Run the async main function
if __name__ == "__main__":
    run(main())

Parameters:

  • in_username: Your email address used for SMTP login.
  • in_password: Your generated app password for SMTP login.
  • in_server: Tuple containing the SMTP server address and port (default is Gmail).
  • use_SSL: Boolean indicating whether to use SSL (True) or TLS (False, default) for the connection.

Methods:

  • set_message: Compose the email message with subject, plaintext, and HTML content.
  • add_attachment: Add an attachment to the email.
  • set_recipients: Set the list of email recipients.
  • connect: Connect to the SMTP server.
  • disconnect: Disconnect from the SMTP server.
  • send_all_async: Send the composed email to all recipients asynchronously.
  • send_email: Send the composed email to a specific recipient.

Contribution

Contributions to PyCourrier are welcome! If you encounter any issues or have suggestions for improvements, please open an issue on GitHub.

License

This project is licensed under the MIT License - see the LICENSE file for details.

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

PyCourrier-0.1.6.tar.gz (4.7 kB view details)

Uploaded Source

Built Distribution

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

PyCourrier-0.1.6-py3-none-any.whl (5.2 kB view details)

Uploaded Python 3

File details

Details for the file PyCourrier-0.1.6.tar.gz.

File metadata

  • Download URL: PyCourrier-0.1.6.tar.gz
  • Upload date:
  • Size: 4.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.11.5

File hashes

Hashes for PyCourrier-0.1.6.tar.gz
Algorithm Hash digest
SHA256 50f0f8475bc224148386d20b34652aeb5665bb7b08facb783e500dc859215bd3
MD5 1f7b76681afe6b5cf800478568666c64
BLAKE2b-256 85066739bfc19cf858c2d9da2a7fc1efb94dec027d3af198e630214b39a5171a

See more details on using hashes here.

File details

Details for the file PyCourrier-0.1.6-py3-none-any.whl.

File metadata

  • Download URL: PyCourrier-0.1.6-py3-none-any.whl
  • Upload date:
  • Size: 5.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.11.5

File hashes

Hashes for PyCourrier-0.1.6-py3-none-any.whl
Algorithm Hash digest
SHA256 e200c0152d29e680c3622848aa67a8e447850a1b70b3c7aeef6731837e5ac99d
MD5 0bd0963e4644109de96aae07343db34e
BLAKE2b-256 5783314cdde1ae7316b5513b501613bbc12cc3b162ea5b820613c87795c61011

See more details on using hashes here.

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