This is a simple Python library for sending emails. It provides an easy way to configure and send emails from any Python code.
To install the imhotep_mail library, you can use pip:
pip install imhotep-mailThe recommended way to use the library is by configuring SMTP settings globally using the set_mail_config function:
from imhotep_mail import set_mail_config
# Set global SMTP configuration
set_mail_config(
smtp_server='smtp.example.com',
smtp_port=465,
username='your-email@example.com',
password='your-password',
user_tls=True, # Optional, default is True
user_ssl=False # Optional, default is False
)Then, send emails using the send_mail function:
from imhotep_mail import send_mail
# Sending an email
success, error = send_mail(
to_email='recipient@example.com',
subject='Hello from Imhotep Mail!',
body='This is a test email sent using the Imhotep Mail library.',
is_html=False
)
if error:
print(f"Error: {error}")
else:
print(success)For backward compatibility, you can still use the send_mail function by passing SMTP configuration directly. This method is not recommended for new code:
from imhotep_mail import send_mail
# Sending an email using the legacy method
success, error = send_mail(
'smtp.example.com', 465, 'your-email@example.com', 'your-password',
to_email='recipient@example.com',
subject='Hello from Imhotep Mail!',
body='This is a test email sent using the Imhotep Mail library.',
is_html=False
)
if error:
print(f"Error: {error}")
else:
print(success)If you are using Gmail, you need to enable "App Passwords" to use this library. Follow these steps:
- Go to your Google Account Security Settings.
- Enable 2-Step Verification if it is not already enabled.
- Under "Signing in to Google," click on "App Passwords."
- Generate an app password for "Mail" and "Other" (e.g., "Imhotep Mail").
- Use the generated password in place of your Gmail account password in the
set_mail_configfunction.
Example:
from imhotep_mail import set_mail_config, send_mail
# Set global SMTP configuration for Gmail
set_mail_config(
smtp_server='smtp.gmail.com',
smtp_port=587,
username='your-email@gmail.com',
password='your-app-password',
user_tls=True,
user_ssl=False
)
# Send an email
success, error = send_mail(
to_email='recipient@example.com',
subject='Hello from Imhotep Mail!',
body='This is a test email sent using Gmail with App Passwords.',
is_html=False
)
if error:
print(f"Error: {error}")
else:
print(success)Both methods support sending emails with attachments. For example, using the recommended method:
from imhotep_mail import send_mail
# Sending an email with attachments
success, error = send_mail(
to_email='recipient@example.com',
subject='Hello from Imhotep Mail!',
body='This is a test email sent using the Imhotep Mail library.',
is_html=False,
attachments=['path/to/attachment1.pdf', 'path/to/attachment2.jpg']
)
if error:
print(f"Error: {error}")
else:
print(success)The library also provides a CLI tool for sending emails. To use it, run the following command:
imhotep-mail-cli --to recipient@example.com --subject "Hello from CLI" --body "This is a test email sent using the CLI." --is-html --attachments path/to/attachment1.pdf path/to/attachment2.jpg --smtp-server smtp.gmail.com --smtp-port 587 --smtp-username your-email@gmail.com --smtp-password your-app-password --use-tls--to: Recipient email address (required).--subject: Email subject (required).--body: Email body (required).--is-html: Send email as HTML (optional).--attachments: Paths to attachment files (optional).--smtp-server: SMTP server address (optional, overrides environment variables).--smtp-port: SMTP server port (optional, overrides environment variables).--smtp-username: SMTP username (optional, overrides environment variables).--smtp-password: SMTP password (optional, overrides environment variables).--use-tls: Use TLS for SMTP (optional).--use-ssl: Use SSL for SMTP (optional).
Contributions are welcome! You can submit issues and pull requests to help improve the library.
MIT License. See LICENSE for more information.