Home

Awesome

<p align="center"> <img src="./resources/icon.png" width="48px"/> </p>

aioyagmail -- Yet Another GMAIL/SMTP client, using AsyncIO

Join the chat at https://gitter.im/kootenpv/aioyagmail PyPI PyPI

The goal here is to make it as simple and painless as possible to send emails using asyncio.

In the end, your code will look something like this:

import asyncio
from aioyagmail import AIOSMTP

loop = asyncio.get_event_loop()

async def send_single():
    # walks you through oauth2 process if no file at this location
    async with AIOSMTP(oauth2_file="~/oauth2_gmail.json") as yag:
        await yag.send(to="someone@gmail.com", subject="hi")

async def send_multi():
    async with AIOSMTP(oauth2_file="~/oauth2_gmail.json") as yag:
        # Runs asynchronously!
        await asyncio.gather(yag.send(subject="1"),
                             yag.send(subject="2"),
                             yag.send(subject="3"))

loop.run_until_complete(send_single())
loop.run_until_complete(send_multi())

Username and password

It is possible like in yagmail to use username and password, but this is not actively encouraged anymore. See https://github.com/kootenpv/yagmail#username-and-password how to do it.

For more information

Have a look at yagmail. Any issue NOT related to async should be posted there (or found out about).

Word of caution

Watch out that gmail does not block you for spamming. Using async you could potentially be sending emails too rapidly.

Donate

If you like aioyagmail, feel free (no pun intended) to donate any amount you'd like :-)

PayPal