Metadata-Version: 2.1
Name: fastapi-mail
Version: 0.2.8.7
Summary: Simple lightwigh mail sending for FastApi
Home-page: https://github.com/sabuhish/fastapi-mail
Author: Sabuhi Shukurov
Author-email: sabuhi.shukurov@gmail.com
License: MIT
Description: 
        # Fastapi-mail
        
        The fastapi-mail simple lightweight mail system, sending emails and attachments(individual && bulk)
        
        
        [![MIT licensed](https://img.shields.io/github/license/marlin-dev/fastapi-mail)](https://raw.githubusercontent.com/marlin-dev/fastapi-mail/master/LICENSE)
        [![GitHub stars](https://img.shields.io/github/stars/marlin-dev/fastapi-mail.svg)](https://github.com/marlin-dev/fastapi-mail/stargazers)
        [![GitHub forks](https://img.shields.io/github/forks/marlin-dev/fastapi-mail.svg)](https://github.com/marlin-dev/fastapi-mail/network)
        [![GitHub issues](https://img.shields.io/github/issues-raw/marlin-dev/fastapi-mail)](https://github.com/marlin-dev/fastapi-mail/issues)
        [![Downloads](https://pepy.tech/badge/fastapi-mail)](https://pepy.tech/project/fastapi-mail)
        
        
        ###  🔨  Installation ###
        
        ```sh
         $ pip install fastapi-mail
        ```
        
        
        ### In order to run the application use command below ####
        
        ```sh
        uvicorn test_examples.main:app --reload  --port 8001
        
        ```
        
        ### Guide
        
        
        ```python
        
        from fastapi import FastAPI, BackgroundTasks, UploadFile, File, Form
        from starlette.responses import JSONResponse
        from starlette.requests import Request
        from fastapi_mail import FastMail, MessageSchema,ConnectionConfig
        from pydantic import EmailStr
        from pydantic import EmailStr, BaseModel
        from typing import List
        
        
        
        class EmailSchema(BaseModel):
            email: List[EmailStr]
        
        
        conf = ConnectionConfig(
            MAIL_USERNAME = "YourUsername",
            MAIL_PASSWORD = "strong_password",
            MAIL_FROM = "your@email.com",
            MAIL_PORT = 587,
            MAIL_SERVER = "your mail server",
            MAIL_TLS = True,
            MAIL_SSL = False
        )
        
        app = FastAPI()
        
        
        html = """
        <html> 
        <body>
        <p>Hi This test mail
        <br>Thanks for using Fastapi-mail</p> 
        </body> 
        </html>
        """
        
        template = """
        <html> 
        <body>
        <p>Hi This test mail using BackgroundTasks
        <br>Thanks for using Fastapi-mail</p> 
        </body> 
        </html>
        """
        
        
        @app.post("/email")
        async def simple_send(email: EmailSchema) -> JSONResponse:
        
            message = MessageSchema(
                subject="Fastapi-Mail module",
                recipients=email.dict().get("email"),  # List of recipients, as many as you can pass 
                body=html,
                subtype="html"
                )
        
            fm = FastMail(conf)
            await fm.send_message(message)
            return JSONResponse(status_code=200, content={"message": "email has been sent"})
                
        
        ```
        
        ### Sending email as background task
        
        ```python
           
        @app.post("/emailbackground")
        async def send_in_background(background_tasks: BackgroundTasks,email: EmailSchema) -> JSONResponse:
        
            message = MessageSchema(
                subject="Fastapi mail module",
                recipients=email.dict().get("email"),
                body="Simple background task ",
                )
        
            fm = FastMail(conf)
            
            background_tasks.add_task(fm.send_message,message)
        
            return JSONResponse(status_code=200, content={"message": "email has been sent"})
        
        
        ```
        
        
        ### Sending files
        
        
        ```python
        
        @app.post("/file")
        async def send_file(background_tasks: BackgroundTasks,file: UploadFile = File(...),email:EmailStr = Form(...)) -> JSONResponse:
        
            message = MessageSchema(
                    subject="Fastapi mail module",
                    recipients=[email],
                    body="Simple background task ",
                    attachments=[file]
                    )
        
            fm = FastMail(conf)
                
            background_tasks.add_task(fm.send_message,message)
        
            return JSONResponse(status_code=200, content={"message": "email has been sent"})
        
        
        
        ```
        
        
        # Contributing
        Fell free to open issue and send pull request.
        
        
        ## Contributors ✨
        
        Thanks goes to these wonderful people ([🚧](https://allcontributors.org/docs/en/maintenance)):
        
        <!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->
        <!-- prettier-ignore-start -->
        <!-- markdownlint-disable -->
        <table>
          <tr>
            <td align="center"><a href="https://github.com/marlin-dev"><img src="https://avatars.githubusercontent.com/u/46589585?v=3" width="100px;" alt=""/><br /><sub><b>Sabuhi Shukurov</b></sub></a><br /><a href="#maintenance-tbenning" title="Answering Questions">💬</a> <a href="https://github.com/marlin-dev/fastapi-mail/" title="Reviewed Pull Requests">👀</a> <a href="#maintenance-jakebolam" title="Maintenance">🚧</a></td>
            <td align="center"><a href="https://github.com/Turall"><img src="https://avatars.githubusercontent.com/u/32899328?v=3" width="100px;" alt=""/><br /><sub><b>Tural Muradov</b></sub></a><br /><a href="https://github.com/marlin-dev/fastapi-mail/" title="Documentation">📖</a> <a href="https://github.com/marlin-dev/fastapi-mail/" title="Reviewed Pull Requests">👀</a> <a href="#tool-jfmengels" title="Tools">🔧</a></td>
            <td align="center"><a href="https://github.com/AliyevH"><img src="https://avatars.githubusercontent.com/u/5507950?v=3" width="100px;" alt=""/><br /><sub><b>Hasan Aliyev</b></sub></a><br /><a href="https://github.com/marlin-dev/fastapi-mail/" title="Documentation">📖</a> <a href="#maintenance-jakebolam" title="Maintenance">🚧</a> <a href="https://github.com/marlin-dev/fastapi-mail/" title="Reviewed Pull Requests">👀</a></td>
            <td align="center"><a href="https://github.com/imaskm"><img src="https://avatars.githubusercontent.com/u/20543833?v=3" width="100px;" alt=""/><br /><sub><b>Ashwani</b></sub></a><br /><a href="#maintenance-tbenning" title="Maintenance">🚧</a></td>
            <td align="center"><a href="https://github.com/LLYX"><img src="https://avatars1.githubusercontent.com/u/10430633" width="100px;" alt=""/><br /><sub><b>Leon Xu</b></sub></a><br /><a href="#maintenance-tbenning" title="Maintenance">🚧</a></td>
            <td align="center"><a href="https://github.com/gabrielponto"><img src="https://avatars.githubusercontent.com/u/7227328" width="100px;" alt=""/><br /><sub><b>Gabriel Oliveira</b></sub></a><br /><a href="https://github.com/marlin-dev/fastapi-mail/" title="Documentation">📖</a> <a href="#maintenance-jakebolam" title="Maintenance">🚧</a></td>
        
          </tr>
          
        
        
        </table>
        
        
        This project follows the [all-contributors](https://allcontributors.org) specification.
        Contributions of any kind are welcome!
        
        
        ## LICENSE
        
        [MIT](LICENSE)
Platform: any
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Description-Content-Type: text/markdown
