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
DefaultCheckerandWhoIsXmlApi - 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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file fastapi-mailer-0.4.1.tar.gz.
File metadata
- Download URL: fastapi-mailer-0.4.1.tar.gz
- Upload date:
- Size: 15.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.1.13 CPython/3.10.4 Linux/5.15.32-1-MANJARO
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e4a4c25ef391110a094f94904317fdb2ee758e5815b1fd1c5d6deea9293d511c
|
|
| MD5 |
67e7274dac2121395879491fc3dc0d73
|
|
| BLAKE2b-256 |
41b2afce793cef4b8cfdc6e8af6ab88935fd9a09eac298c5c8c0eb466a1b8bb6
|
File details
Details for the file fastapi_mailer-0.4.1-py3-none-any.whl.
File metadata
- Download URL: fastapi_mailer-0.4.1-py3-none-any.whl
- Upload date:
- Size: 15.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.1.13 CPython/3.10.4 Linux/5.15.32-1-MANJARO
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0522746eead8a525554582bf64e83148b74dc600f4dacc1752d0c08a9333099f
|
|
| MD5 |
d8be384c4d6aeca604ff788d94a4d552
|
|
| BLAKE2b-256 |
97bc142843931a8cfbc4353e6a51768cce982c507e902b9c562fe3eb1d4074cd
|