Giter VIP home page Giter VIP logo

easygmail's Introduction

EasyGmail

Overview

EasyGmail is a lightweight, minimalistic, and synchronous Python API designed for quick email sending via Gmail.

Roadmap

The current release is a beta release. By stable release 1.0, the following features are projected to be added:

  • Unit testing
  • Static Site Documentation
  • File Attachments
  • HTML Emails
  • Variadic Recipients

Getting Started

Installation

pip install git+https://github.com/ayushgun/easygmail

Prerequisites

Before using EasyGmail, ensure you have an app password for Gmail. Do not use your regular account password.

Quick Start Example

from easygmail import Client, EmailBuilder

client = Client("<address>@gmail.com", "<app password>")

msg = EmailBuilder(
    receiver="<recipient>@domain.com", subject="<subject text>", body="<body text>"
).build()

client.send(msg)

Client Initialization

You can instantiate a Client object in two ways:

  1. Direct Credentials: Provide email address and app password directly as arguments.
from easygmail import Client

client = Client("<address>@gmail.com", "<app password>")
  1. Environment File: Use a .env file to store credentials.
from easygmail import Client

client = Client(env_file=".env")

Your .env file should contain:

EMAIL_ADDRESS="<address>@gmail.com"
PASSWORD="<app password>"

Creating Email Messages

Create EmailMessage objects using one of the following methods:

  1. EmailBuilder Constructor:
from easygmail import EmailBuilder

msg = EmailBuilder(
    receiver="<recipient>@domain.com", subject="<subject text>", body="<body text>"
).build()
  1. EmailBuilder Factory Interface:
from easygmail import EmailBuilder

msg = (
    EmailBuilder()
    .set_receiver("<recipient>@domain.com")
    .set_subject("<subject text>")
    .set_body("<body text>")
).build()
  1. Directly Using EmailMessage:
from email.message import EmailMessage

msg = EmailMessage()
msg["To"] = "<recipient>@domain.com"
msg["Subject"] = "<subject text>"
msg.set_content("<body text>")

easygmail's People

Contributors

ayushgun avatar

Stargazers

Mike R. avatar Gianluca Pacchiella avatar  avatar Matus Ivanecky avatar MADhatter4² avatar  avatar Jan Krňávek avatar Omer Sarigul avatar  avatar  avatar  avatar  avatar Maksim Panin avatar Marco Bravo avatar  avatar KAI avatar Agatha Bahati avatar p0123n avatar Vladimir Ulupov avatar Miguel Lopez avatar João Paulo Canário avatar Ales Kuchar avatar  avatar Oleksii Andrushevych avatar Roland Saïkali avatar Grigory Bakunov avatar Chinar Dankhara avatar Oliver Drechsler avatar Clarence Vinzcent Reyes avatar  avatar Hugo VASSELIN avatar Christoph Bülter avatar Oscar Domingo avatar Kostas Psarras avatar Ian Ormesher avatar Erick Rumbold avatar  avatar Matheus Gomes avatar Noah Yetter avatar  avatar Kobi Cohen-Arazi avatar Connor Adams avatar  avatar Goutis Dimitrios avatar  avatar Guilherme Euzébio avatar Aliaksei Yaletski avatar Andre Dias avatar Adrian Salceanu avatar Simon Jang avatar Valentin Ivanov avatar Rasmus Nikolai Nes avatar Seyed Mohammad Sajadi avatar  avatar  avatar  avatar  avatar Zsolt Botykai avatar Vladislav Sorokin avatar Rohit Jadhav avatar Juan de la Cuadra avatar Carlos Sevilla Barceló avatar Andrey avatar EmmeFreeze avatar Klyausov Andrey avatar Zoom.Quiet avatar Rafael Medina avatar Alessandro Panzieri avatar  avatar Aleksandr avatar Marc Guirand avatar Jorge Carlos Franco avatar Eric Le Nay avatar Steve avatar Shantanu Oak avatar Doug Hudgeon avatar Cieran Kelly avatar Mike Stringer avatar Sam Chen avatar  avatar Conrad Storz avatar Sergey Keller avatar  avatar  avatar  avatar Leif Ulstrup avatar Ryan Blunden avatar Colin Bieberstein avatar Mauricio Uribe avatar Rodolfo Ferro avatar Alexandre avatar  avatar 5j9 avatar (⋆❛ ہ ❛⋆)⊃.:☆..:*・☆ avatar Shantanu Pati avatar Serhiy Shliapuhin avatar Ilito Torquato avatar  avatar Laszlo Szathmary avatar Avi avatar

Watchers

Christopher Noel avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.