Python package to quickly integrate different email services with your Application with just 3 lines of code.
Send Your email without caring about the backend code.
GitHub: | ramanaditya/email-service |
---|---|
PyPI: | pypi.org/project/email-service |
$ pip install email-service
Save the
API_KEY in the
.env file as
SENDGRID_API_KEY=api_key
>>> from email_service.email_handler import EmailHandler
data = {
"from_email": "Name WithSpace <[email protected]>", # Required
"subject": "This is the test for the Individual email", # Required
"reply_to_addresses": "[email protected]",
"html_body": "<h1>Email Template for Individual email</h1>", # Either of html_body or text_body is required
"text_body": "Email Template for Individual email",
"to_for_bulk": [{"name": "Name", "email": "[email protected]"},], # Required for Bulk Email
"recipients": {
"to": [{"name": "name1", "email": "[email protected]"},], # Required
"cc": [{"name": "name2", "email": "[email protected]"},],
"bcc": [{"name": "name3", "email": "[email protected]"},],
},
"attachments": [
"file_path (pdf)", "calender invite (ics)", "image_path (png/jpg/jpeg)"
]
}
>>> # For Individual Email
>>> send_email = EmailHandler()
>>> # For Bulk Email
>>> send_email = EmailHandler(email_type="BULK")
>>> # Send it using sendgrid
>>> response = send_email.sendgrid(data)
status_code:
202: OK,
400: Error
message: Error or Success Message
$ git clone https://github.com/ramanaditya/email-service
$ python -m venv venv
$ source venv/bin/activate
$ python -m pip install --upgrade pip
$ python -m pip install -r requirements.txt
$ git checkout -b develop origin/develop
$ git checkout -b feature_branch
$ git add file_which_was_changed
$ git commit -m "Commit Message"
$ git push -u origin feature_branch
$ # Build the package
$ python setup.py build
$ # Install the package
$ python setup.py install
This is just for the reference and need not to be run, If you want to run these scripts, please take a note of this
- For testing, we maintain the test package at testpypi
- PyPI or Test PyPI, does not accept same file name, you can change the file name or version in the ./setup.py
- You will be prompted to enter
- Either username and password
- or, username as "__token__" and password as token (can be generated from the pypi website)
- It will be uploaded to your pypi or testpypi account
$ # Downloading latest version of setuptools
$ python -m pip install --user --upgrade setuptools wheel
$ python setup.py sdist bdist_wheel
$ # Upload to Test PyPI https://test.pypi.org/
$ python -m twine upload --repository testpypi dist/*
$ python -m pip install -i https://test.pypi.org/simple/ email-service
$ # Edit the file inside /example to have some valid data
$ # export SENDGRID_API_KEY before running the script
$ python individual_email.py # For individual email
$ python bulk.py # For bulk email
$ # Upload to PyPI https://pypi.org/
$ python -m twine upload dist/*
$ python -m pip install -i https://test.pypi.org/simple/ email-service
Issue No. | Issue |
---|---|
NOTE: Feel free to open issues. Make sure you follow the Issue Template provided.
- Write clear meaningful git commit messages (Do read this).
- Make sure your PR's description contains GitHub's special keyword references that automatically close the related issue when the PR is merged. (Check this for more info)
- When you make very very minor changes to a PR of yours (like for example fixing a text in button, minor changes requested by reviewers) make sure you squash your commits afterward so that you don't have an absurd number of commits for a very small fix. (Learn how to squash at here)
- Please follow the PR Template to create the PR.
- Always open PR to
develop
branch. - Please read our Code of Conduct.
- Refer this for more.
If you
❤️ this
repository , support it by star 🌟