# fastapi-mail **Repository Path**: YeLangTu/fastapi-mail ## Basic Information - **Project Name**: fastapi-mail - **Description**: No description available - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-04-16 - **Last Updated**: 2022-02-28 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Fastapi-mail The fastapi-mail simple lightweight mail system, sending emails and attachments(individual && bulk) [](https://raw.githubusercontent.com/sabuhish/fastapi-mail/master/LICENSE) [](https://github.com/sabuhish/fastapi-mail/stargazers) [](https://github.com/sabuhish/fastapi-mail/network) [](https://github.com/sabuhish/fastapi-mail/issues) [](https://pepy.tech/project/fastapi-mail) ### π¨ Installation ### ```sh $ pip install fastapi-mail ``` --- **Documentation**: [FastApi-MAIL](https://sabuhish.github.io/fastapi-mail/) --- The key features are: - sending emails with either with FastApi or using asyncio module - sending emails using FastApi background task managment - sending files either from form-data or files from 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``` - Unittests using FastapiMail More information on [Getting-Started](https://sabuhish.github.io/fastapi-mail/getting-started/) ### 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 BaseModel, EmailStr 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, USE_CREDENTIALS = True, VALIDATE_CERTS = True ) app = FastAPI() html = """
Thanks for using Fastapi-mail
""" @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"}) ``` ## List of Examples For more examples of using fastapi-mail please check [example](https://sabuhish.github.io/fastapi-mail/example/) section # Contributing Feel free to open issues and send pull requests. ## Contributors β¨ Thanks goes to these wonderful people ([π§](https://sabuhish.github.io/fastapi-mail/example.html)):