The fastapi-mail is a simple lightweight mail system, for sending emails and attachments(individual && bulk)
python3 -m venv .venv source .venv/bin/activate pip install fastapi-mail for aioredis and httpx pip install 'fastapi-mail[aioredis]' pip install 'fastapi-mail[httpx]'
Alternatively, if you prefer to use poetry
for package dependencies:
poetry shell poetry add fastapi-mail for aioredis and httpx poetry add 'fastapi-mail[aioredis]' poetry add 'fastapi-mail[httpx]'
The key features are:
DefaultChecker
and WhoIsXmlApi
More information on Getting-Started
from typing import List from fastapi import BackgroundTasks, FastAPI from fastapi_mail import ConnectionConfig, FastMail, MessageSchema, MessageType from pydantic import BaseModel, EmailStr from starlette.responses import JSONResponse class EmailSchema(BaseModel): email: List[EmailStr] conf = ConnectionConfig( MAIL_USERNAME ="username", MAIL_PASSWORD = "**********", MAIL_FROM = "test@email.com", MAIL_PORT = 465, MAIL_SERVER = "mail server", MAIL_STARTTLS = False, MAIL_SSL_TLS = True, 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"), body=html, subtype=MessageType.html) fm = FastMail(conf) await fm.send_message(message) return JSONResponse(status_code=200, content={"message": "email has been sent"})
For more examples of using fastapi-mail please check: example section.
Thanks goes to these wonderful People
Contributions of any kind are welcome!
Before you start, please read CONTRIBUTING
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4