An email sending utility for python
Project description
firemail
firemail
is a simple Python module for sending emails using the SMTP protocol. It allows you to send plain text or HTML emails and optionally attach files. The module is designed to work with Gmail by default but can be configured for other SMTP servers as well.
Installation
To use firemail
, you can install it via pip:
pip install firemail
Usage
import os
from firebmail import sendmail
# Example usage
sender = "yourmail@example.com"
password = "your_app_password"
payload = "Hello, this is a test email!"
recipient = "recipient_email@example.com"
subject = "Test Email"
sendmail(payload, recipient, sender,password, subject)
Function Parameters
The sendmail function has the following parameters:
payload: The string containing the message, either in plain text or HTML format. recipient: The email address of the recipient. sender: Your email address password: Your app password subject: The email subject (default is "Message from firemail"). type_: The type of payload, either 'plain' or 'html' (default is 'plain'). filepath: The path of the email attachment, default is None. client: The name of the client (default is 'smtp.gmail.com'). Attempts to use unrelated mail services may result in failure
Example with attachment
import os
from firebmail.firebmail import sendmail
# Example usage with attachment
sender = "yourmail@example.com"
password = "your_app_password"
payload = "Hello, this email includes an attachment."
recipient = "recipient_email@example.com"
subject = "Email with Attachment"
filepath = "path/to/your/file.pdf"
sendmail(payload, recipient,sender, password, subject, filepath=filepath)
Sending Batch Mail
Using the sendmail
function in a loop to send multiple emails can be inefficient, because it authenticates each time; instead use the BatchMail class to send multiple emails efficiently.
from firebmail import BatchMail
sender = "mymail@example.com"
password = "my app password"
payload = "Hello, this is a test email!"
subject = "Test Email"
batch = BatchMail(sender = sender, password = password, subject=subject, payload=payload)
batch.send_batch(['test1@gmail.com', 'test2@gmail.com', 'test3@gmail.com'])
Note
Make sure to use this module responsibly and adhere to the email sending policies of your email service provider. Additionally, consider using application-specific passwords for enhanced security.
For Gmail users, you can generate an app password by following the instructions here.
License
This project is licensed under the MIT License - see the LICENSE.md file for details.
Contributing
Pull requests are welcome. For major changes, please open an issdriveue first to discuss what you would like to change.
Issues
If you encounter any issues, feel free to open an issue in the repository.
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
Built Distribution
File details
Details for the file firebmail-0.1.5.tar.gz
.
File metadata
- Download URL: firebmail-0.1.5.tar.gz
- Upload date:
- Size: 4.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | a43a97523d4d96acce5d0589f12f16c85ce5a29284b48a2f0995c1b68071cede |
|
MD5 | df27b15f21877ef468963badce97cbd9 |
|
BLAKE2b-256 | c7e293114f609b9cbae60ed87a9e1b8a89740ae975fd633b5cf46a5b23925e21 |
File details
Details for the file firebmail-0.1.5-py3-none-any.whl
.
File metadata
- Download URL: firebmail-0.1.5-py3-none-any.whl
- Upload date:
- Size: 4.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 81498fd9496da14e7a66ec4863262e62632eed95796935389ed2ba0f49e5c1c8 |
|
MD5 | 718bd58af874e465521ec33aa0683769 |
|
BLAKE2b-256 | 7bbb7f8f18c07d18753b4989898498779621841f3431352ad4311248a34bda66 |