PyAutoMail: A Python package and command-line interface for automation sending email to your contact list
Pyautomail, an incredibly powerful Python package meticulously crafted for the purpose of automated email delivery, catering especially to large-scale Email or Gmail automation. In today's fast-paced digital era, effective communication stands as a crucial cornerstone for numerous businesses and projects that heavily rely on email as their primary medium of interaction. Nonetheless, the manual handling of individual emails or the management of bulk email campaigns can prove to be both time-consuming and prone to errors.
Fear not, for pyautomail swoops in as the ultimate savior, offering a seamless and highly efficient solution for automating email communication. Be it the need to dispatch personalized emails to a vast audience, the execution of targeted email marketing campaigns, or the automation of repetitive email chores, this package serves as your ultimate go-to tool. With its user-friendly interface and an array of versatile features, pyautomail proves itself as a fitting choice for a wide range of applications, catering to startups, enterprises, professionals, and developers alike.
Revolutionize your email operations, whether it involves mass email distribution, streamlined Gmail tasks, or the quest for enhanced email communication proficiency - pyautomail is here to streamline your workflow, elevate your efficiency, and elevate productivity to soaring heights.
pip install pyautomail
pip install git+https://github.com/msinamsina/pyautomail.git
-
At first, you should initialize project
python -m pyautomail init
After running this command, you will see a some questions. You should answer them.
Where do you want to initialize the pyautomail project? [./pyautomail-workspace] What is your smtp server? [smtp.gmail.com]: What is your smtp port? [465]:
📘 Note:
- This command will create a folder with the project name in the path you specified.
If you don't specify the path, it will create
automail-workspace
. - You can change the default smtp server by default it has been set on Gmail Smtp Server.
- You also can set the port of Smtm Server (by default 465).
- Additionally, if you want to save you password in config file, you can use the
-p
or--pasword
switch. - Moreover, if you want to initialize a test project, you can use
-t
or--test
.$ python -m pyautomail init -t -p <your-password>
📙 Important
If directory already exists, it will be overwritten. - This command will create a folder with the project name in the path you specified.
If you don't specify the path, it will create
-
Then you should go to the project directory and register your contact list
cd <your-project-name> python -m pyautomail register <Path-to-your-contact-list> [options]
📘 Note:
For using a template, use--template
switch. The template can be.txt
or.html
Format.python -m pyautomail register contact-list.csv --template ./body.html
body.html:
<h1> Hi {{ name }}, </h1>
contact-list.csv:
email,name,data1,cpdf [email protected],contact1,ali,/path/to/pdf1 [email protected],contact2,mohammad,/path/to/pdf2 [email protected],contact3,soheila,/path/to/pdf3
-
Now you can start sending emails by running the following command
python -m pyautomail start <process-id>
from pyautomail import EmailSender
email_sender = EmailSender('config.cfg')
email_sender.set_template('body.txt')
data = {'name': 'Jon', 'age': 30}
email_sender.send('[email protected]', 'sub1', data)
For more comprehensive information about PyAutoMail and its capabilities, please explore our detailed documentation.
- Get a brief overview and explore the features of PyAutoMail in the Introduction section.
- If you're new to PyAutoMail, follow our Getting Started guide to kickstart your email automation journey.
- For a quick reference, you can check out the API Reference section.
- To gain deeper insights into PyAutoMail and learn best practices, dive into our informative Tutorial section.
By exploring these resources, you'll harness the full potential of PyAutoMail and make the most out of its powerful email automation capabilities.
We welcome contributions from the community to enhance PyAutoMail and make it even more robust. If you're interested in contributing, here's how you can get involved:
-
Bug Reports and Feature Requests: If you come across any issues or have ideas for new features, please open an issue on our GitHub repository. We appreciate detailed bug reports with steps to reproduce the problem and clear feature requests with use cases.
-
Pull Requests: If you want to contribute code to PyAutoMail, you can do so by submitting a pull request. Please ensure that your code adheres to the existing code style, and include relevant tests to maintain code quality.
-
Documentation: Improving the documentation is always valuable. If you find any inconsistencies or areas that need clarification, feel free to submit documentation updates via pull requests.
-
Spread the Word: If you find PyAutoMail useful, help us spread the word by sharing it with your peers and on social media platforms.