From 462374bed279b95b908145d9b5ce5f24c97da7b1 Mon Sep 17 00:00:00 2001 From: Aniket Sarkar <46404058+marktennyson@users.noreply.github.com> Date: Sun, 29 Jan 2023 20:37:50 +0530 Subject: [PATCH 01/14] Update CHANGELOG.md --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index b76d201..2ee420b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -56,3 +56,4 @@ - `Updated` setup.py. - `Updated` Readme file. - `Fixed` version number issue. +- `Added` the compatibility for Python 3.11. From e1e47c48ee7f99ad50b23d91cba17e73e6b0c16c Mon Sep 17 00:00:00 2001 From: Aniket Sarkar <46404058+marktennyson@users.noreply.github.com> Date: Thu, 23 Feb 2023 09:39:19 +0000 Subject: [PATCH 02/14] Fixed documentation --- docs/example.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/example.md b/docs/example.md index 9962b74..268d28c 100644 --- a/docs/example.md +++ b/docs/example.md @@ -180,7 +180,7 @@ message = Message( ], ) -fm = FastMail(conf) +fm = Mail(conf) await fm.send_message(message) ``` From d3d9c7b2781968c96769d6846307484635e2bf66 Mon Sep 17 00:00:00 2001 From: Aniket Sarkar <46404058+marktennyson@users.noreply.github.com> Date: Mon, 27 Feb 2023 07:26:18 +0000 Subject: [PATCH 03/14] Spelling fixes in documentation --- docs/example.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/docs/example.md b/docs/example.md index 268d28c..ac93c9a 100644 --- a/docs/example.md +++ b/docs/example.md @@ -180,8 +180,7 @@ message = Message( ], ) -fm = Mail(conf) -await fm.send_message(message) +await mail.send_message(message) ``` ## Guide for email utils From a5e31899af23bbb54ab7bad7ed434df4c0b0975b Mon Sep 17 00:00:00 2001 From: Aniket Sarkar <46404058+marktennyson@users.noreply.github.com> Date: Mon, 27 Mar 2023 15:22:20 +0530 Subject: [PATCH 04/14] Update README.md --- README.md | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 05467f2..2b6180c 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,13 @@ # ✉️ Flask-Mailing ![Flask mail logo](https://github.com/marktennyson/flask-mailing/blob/main/logo/flask-mailing-logo-cropped.png?raw=true) -Flask-Mailing adds SMTP mail sending to your Flask applications +__Flask-Mailing__ is a highly efficient and user-friendly package that enables `Asynchronous` email messaging in Flask applications. Asynchronous email messaging is becoming increasingly popular because it allows applications to continue running while emails are being sent in the background. This makes it an ideal solution for time-sensitive applications that require a fast and responsive user experience. -**Flask_Mail** is dead now. This is the time to migrate a fully asynchronous mailer library to send emails using a Flask-based application. If Flask 2.0 supports the asynchronous view function, then who stops you from using __Flask-Mailing__ ? +With Flask-Mailing, developers can easily integrate asynchronous email messaging capabilities into their Flask applications without the need for complex configurations or additional dependencies. The package offers a variety of features, including support for multiple email providers, email templates, and error handling. It also supports common email protocols, such as `SMTP`, `SSL`, and `TLS`. + +Moreover, Flask-Mailing offers a simple and intuitive API that allows developers to easily send emails in the background. It also provides advanced features, such as email tracking and reporting, which enable developers to monitor email performance and user engagement. + +Whether you're building a small-scale application or a large-scale enterprise system, Flask-Mailing provides a reliable and scalable solution for Asynchronous email messaging in Flask applications. __The key features are:__ @@ -112,4 +116,4 @@ Before you start please read [CONTRIBUTING](https://github.com/marktennyson/flas # 📝 LICENSE -[MIT](LICENSE) \ No newline at end of file +[MIT](LICENSE) From c30edddd22e971c6f63cffec0f5e1b598c270438 Mon Sep 17 00:00:00 2001 From: Aniket Sarkar <46404058+marktennyson@users.noreply.github.com> Date: Mon, 27 Mar 2023 15:38:48 +0530 Subject: [PATCH 05/14] Added more key features --- README.md | 28 ++++++++++++++++++---------- 1 file changed, 18 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index 2b6180c..54c9c41 100644 --- a/README.md +++ b/README.md @@ -11,13 +11,23 @@ Whether you're building a small-scale application or a large-scale enterprise sy __The key features are:__ -- Most of the Apis is very similar to the `Flask-Mail` module. -- sending emails to either with Flask or using asyncio module. -- sending files either from form-data or files from the server. -- Using Jinja2 HTML Templates. -- email utils (utility allows you to check temporary email addresses, you can block any email or domain). -- email utils has two available classes ```DefaultChecker``` and ```WhoIsXmlApi```. -- Unit tests using Mail. +### Key Features + +1. :arrows_counterclockwise: Supports asynchronous email sending using the built-in `asyncio` library in Python 3.5+. +2. :link: Easily integrates with Flask applications using the provided `Mail` extension. +3. :gear: Offers simple and intuitive configuration options for email providers such as SMTP, Sendgrid, and Mailgun. +4. :envelope: Supports HTML and plain-text message formats, as well as the option to send both formats in a multi-part message. +5. :paperclip: Provides support for file attachments in emails. +6. :art: Includes customizable email templates and support for Jinja2 templates. +7. :rocket: Offers a simple API for sending email messages, allowing for quick and easy implementation in any Flask project. +8. :email: Supports bulk email sending, allowing for the efficient delivery of messages to large email lists. +9. :bookmark_tabs: Provides options for customizing email headers and message priority levels. +10. :chart_with_upwards_trend: Supports email tracking through message IDs and delivery status notifications. +11. :microscope: Includes a comprehensive testing suite for ensuring the correct configuration and behavior of the email sending functionality. +12. :lock: Supports email encryption and authentication using TLS and SSL protocols. +13. :warning: Offers error handling and logging functionality for tracking and resolving email sending issues. +14. :book: Provides detailed documentation and active community support for resolving any issues or questions related to the package. + More information on [Getting-Started](https://marktennyson.github.io/flask-mailing/getting-started) @@ -73,14 +83,12 @@ html = """ @app.post("/email") async def simple_send(): - message = Message( subject="Flask-Mailing module", recipients=["recipients@email-domain.com"], # List of recipients, as many as you can pass body=html, subtype="html" ) - await mail.send_message(message) return jsonify(status_code=200, content={"message": "email has been sent"}) ``` @@ -116,4 +124,4 @@ Before you start please read [CONTRIBUTING](https://github.com/marktennyson/flas # 📝 LICENSE -[MIT](LICENSE) +[MIT](https://raw.githubusercontent.com/marktennyson/flask-mailing/development/LICENSE) From b2a44955f4be706659a7c4e4cd2aceb9bd7fdea4 Mon Sep 17 00:00:00 2001 From: Aniket Sarkar <46404058+marktennyson@users.noreply.github.com> Date: Mon, 27 Mar 2023 15:40:44 +0530 Subject: [PATCH 06/14] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 54c9c41..9d74cec 100644 --- a/README.md +++ b/README.md @@ -11,7 +11,7 @@ Whether you're building a small-scale application or a large-scale enterprise sy __The key features are:__ -### Key Features +### Key Features :sparkles: 1. :arrows_counterclockwise: Supports asynchronous email sending using the built-in `asyncio` library in Python 3.5+. 2. :link: Easily integrates with Flask applications using the provided `Mail` extension. From 817fc779aac7a2491d70a1a3919c7342b0f534df Mon Sep 17 00:00:00 2001 From: Aniket Sarkar <46404058+marktennyson@users.noreply.github.com> Date: Mon, 27 Mar 2023 15:41:36 +0530 Subject: [PATCH 07/14] reformat the README.md --- README.md | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 9d74cec..da15064 100644 --- a/README.md +++ b/README.md @@ -9,23 +9,35 @@ Moreover, Flask-Mailing offers a simple and intuitive API that allows developers Whether you're building a small-scale application or a large-scale enterprise system, Flask-Mailing provides a reliable and scalable solution for Asynchronous email messaging in Flask applications. -__The key features are:__ ### Key Features :sparkles: 1. :arrows_counterclockwise: Supports asynchronous email sending using the built-in `asyncio` library in Python 3.5+. + 2. :link: Easily integrates with Flask applications using the provided `Mail` extension. + 3. :gear: Offers simple and intuitive configuration options for email providers such as SMTP, Sendgrid, and Mailgun. + 4. :envelope: Supports HTML and plain-text message formats, as well as the option to send both formats in a multi-part message. + 5. :paperclip: Provides support for file attachments in emails. + 6. :art: Includes customizable email templates and support for Jinja2 templates. + 7. :rocket: Offers a simple API for sending email messages, allowing for quick and easy implementation in any Flask project. + 8. :email: Supports bulk email sending, allowing for the efficient delivery of messages to large email lists. + 9. :bookmark_tabs: Provides options for customizing email headers and message priority levels. + 10. :chart_with_upwards_trend: Supports email tracking through message IDs and delivery status notifications. + 11. :microscope: Includes a comprehensive testing suite for ensuring the correct configuration and behavior of the email sending functionality. + 12. :lock: Supports email encryption and authentication using TLS and SSL protocols. + 13. :warning: Offers error handling and logging functionality for tracking and resolving email sending issues. + 14. :book: Provides detailed documentation and active community support for resolving any issues or questions related to the package. From bcdfc64b7c696e683ab5989e6a777bf228784352 Mon Sep 17 00:00:00 2001 From: Aniket Sarkar <46404058+marktennyson@users.noreply.github.com> Date: Mon, 27 Mar 2023 15:51:52 +0530 Subject: [PATCH 08/14] update documentation --- docs/index.md | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/docs/index.md b/docs/index.md index 142f34a..1f785f3 100644 --- a/docs/index.md +++ b/docs/index.md @@ -1,8 +1,23 @@ # Flask-mailing -The flask-mailing simple lightweight mail system, sending emails and attachments(individual && bulk) fully asynchronously. +__Flask-Mailing__ is a highly efficient and user-friendly package that enables `Asynchronous` email messaging in Flask applications. Asynchronous email messaging is becoming increasingly popular because it allows applications to continue running while emails are being sent in the background. This makes it an ideal solution for time-sensitive applications that require a fast and responsive user experience. -Flask_Mail is dead now. To use the mail service with your project you can use eaither [Flask-Mailing](https://github.com/marktennyson/flask-mailing) for legacy or [Flask-Mailman](https://github.com/waynerv/flask-mailman) for Django type implementation. +With Flask-Mailing, developers can easily integrate asynchronous email messaging capabilities into their Flask applications without the need for complex configurations or additional dependencies. The package offers a variety of features, including support for multiple email providers, email templates, and error handling. It also supports common email protocols, such as `SMTP`, `SSL`, and `TLS`. + +Moreover, Flask-Mailing offers a simple and intuitive API that allows developers to easily send emails in the background. It also provides advanced features, such as email tracking and reporting, which enable developers to monitor email performance and user engagement. + +Whether you're building a small-scale application or a large-scale enterprise system, Flask-Mailing provides a reliable and scalable solution for Asynchronous email messaging in Flask applications. + +Flask-Mail has been discontinued. However, you can still use email services with your Flask projects by using either Flask-Mailing for asynchronous implementation or Flask-Mailman for synchronous implementation. + +- Flask-Mailing supports asynchronous email sending using the built-in `asyncio` library in Python 3.5+. It easily integrates with Flask applications using the provided `Mail` extension, offers simple and intuitive configuration options for email providers, supports HTML and plain-text message formats, and provides options for customizing email headers and message priority levels. It also includes customizable email templates, supports file attachments, and allows for bulk email sending, email tracking, encryption and authentication, error handling, and logging functionality. + +- Flask-Mailman, on the other hand, provides a simple API for sending email messages synchronously, supports HTML and plain-text message formats, allows for customizing email headers and message priority levels, and provides options for email tracking and error handling. It also includes customizable email templates and supports file attachments. + +Choose the package that best fits your project's requirements and start using email services with your Flask application! + + +Flask_Mail is dead now. To use the mail service with your project you can use eaither [Flask-Mailing](https://github.com/marktennyson/flask-mailing) for Asynchronous or [Flask-Mailman](https://github.com/waynerv/flask-mailman) for Synchronous implementation. [![MIT licensed](https://img.shields.io/github/license/marktennyson/flask-mailing)](https://raw.githubusercontent.com/marktennyson/flask-mailing/master/LICENSE) [![GitHub stars](https://img.shields.io/github/stars/marktennyson/flask-mailing.svg)](https://github.com/marktennyson/flask-mailing/stargazers) From 817f820196ead26ee9b3f1af61da08f5d45dadc4 Mon Sep 17 00:00:00 2001 From: Aniket Sarkar <46404058+marktennyson@users.noreply.github.com> Date: Mon, 27 Mar 2023 15:55:56 +0530 Subject: [PATCH 09/14] automated mkdocs deployment --- .github/workflows/main.yml | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 .github/workflows/main.yml diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml new file mode 100644 index 0000000..791e8be --- /dev/null +++ b/.github/workflows/main.yml @@ -0,0 +1,16 @@ +name: build +on: + push: + branches: + - main +jobs: + deploy: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - uses: actions/setup-python@v2 + with: + python-version: 3.x + - run: pip install mkdocs + - run: pip install -r requirements.docs.txt + - run: mkdocs gh-deploy --force --clean --verbose \ No newline at end of file From ba88c1675d7734e1d44b67d1d23820b19f114b6e Mon Sep 17 00:00:00 2001 From: Aniket Sarkar <46404058+marktennyson@users.noreply.github.com> Date: Mon, 27 Mar 2023 15:58:29 +0530 Subject: [PATCH 10/14] final check --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 791e8be..f6fe41c 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -1,4 +1,4 @@ -name: build +name: build on: push: branches: From 4c5ea97b63968c5263c36b45bc01a4ae5826c17d Mon Sep 17 00:00:00 2001 From: Aniket Sarkar <46404058+marktennyson@users.noreply.github.com> Date: Mon, 27 Mar 2023 16:15:04 +0530 Subject: [PATCH 11/14] fixed main.yml | C-1 --- .github/workflows/main.yml | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index f6fe41c..c534a17 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -1,8 +1,7 @@ -name: build -on: - push: - branches: - - main +name: Docs deployer + +on: [push] + jobs: deploy: runs-on: ubuntu-latest From 873945d72a8219343c78b4737940b55204487e64 Mon Sep 17 00:00:00 2001 From: Aniket Sarkar <46404058+marktennyson@users.noreply.github.com> Date: Tue, 28 Mar 2023 15:37:54 +0530 Subject: [PATCH 12/14] removed roadmap option from docs --- mkdocs.yml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/mkdocs.yml b/mkdocs.yml index b1130f6..9a39406 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -40,6 +40,4 @@ nav: - 🕹 Getting Started: getting-started.md - Example: example.md - Contribution: contribute.md - - Changelog: changelog.md - - Future Roadmap: future-roadmap.md - + - Changelog: changelog.md \ No newline at end of file From a11efa377b43abf208372a2348490d89c61a884e Mon Sep 17 00:00:00 2001 From: Sriram <71959217+Sriram-bb63@users.noreply.github.com> Date: Fri, 21 Apr 2023 19:20:25 +0530 Subject: [PATCH 13/14] Update getting-started.md --- docs/getting-started.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/getting-started.md b/docs/getting-started.md index a2514ce..c863553 100644 --- a/docs/getting-started.md +++ b/docs/getting-started.md @@ -13,7 +13,7 @@ class has following attributes - **MAIL_PASSWORD** : Password for authentication - **MAIL_SERVER** : SMTP Mail server. - **MAIL_USE_TLS** : For TLS connection -- **MAIL_USE_SSL** : For TLS connection +- **MAIL_USE_SSL** : For SSL connection - **MAIL_DEBUG** : Debug mode for while sending mails, defaults 0. - **MAIL_FROM** : Sender address - **MAIL_DEFAULT_SENDER** : Sender address @@ -77,4 +77,4 @@ WhoIsXmlApi class provide working with api [WhoIsXmlApi](https://www.whoisxmlap This service gives free 1000 request to checking email address per month. - token : token you can get from this [WhoIsXmlApi](https://www.whoisxmlapi.com) link -- email : email for checking \ No newline at end of file +- email : email for checking From 64a1cb1487617db96a890b3c1557e24c1e0d04d3 Mon Sep 17 00:00:00 2001 From: Aniket Sarkar <46404058+marktennyson@users.noreply.github.com> Date: Tue, 25 Apr 2023 22:52:05 +0530 Subject: [PATCH 14/14] Update README.md --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index da15064..ebefcfe 100644 --- a/README.md +++ b/README.md @@ -124,6 +124,8 @@ Thanks go to these wonderful people ([🚧]):