Simple lightweight mail library for FastApi
Project description
Fastapi-mail
The fastapi-mail simple lightweight mail system, sending emails and attachments(individual && bulk)
๐จ Installation
$ pip install fastapi-mail
Documentation: 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
andWhoIsXmlApi
- Unittests using FastapiMail
More information on Getting-Started
Guide
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 = """ <p>Thanks for using Fastapi-mail</p> """ @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 section
Contributing
Feel free to open issues and send pull requests.
Contributors โจ
Thanks goes to these wonderful people (๐ง):
This project follows the all-contributors specification. Contributions of any kind are welcome!
Before you start please read CONTRIBUTING
LICENSE
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
fastapi-mail-1.0.8.tar.gz
(15.2 kB
view hashes)
Built Distribution
Close
Hashes for fastapi_mail-1.0.8-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 04eab5e77f57aff6a721bcabf8eeb8da928d4a94a2c3a4bee62eb442a127ade9 |
|
MD5 | 469b29bc9dacb8743bcd78172e5e680b |
|
BLAKE2-256 | 02a7883e12ff959a116d0bc30f916350e152041d99846060f5ccd8645f82adf8 |