Send mail from gmail using python
Project description
Description
This is a very simple package that enables you to send mail through gmail using python. It’s not a big deal, it does not read your emails, no calendars, no drafts… It does just one thing, sending emails (possibly with attachments).
Requirements
Python 3
pip3 for installation
Install
Using setup.py
git clone https://github.com/kindlychung/pygmail.git cd pygmail python3 setup.py install
Using pip:
From github:
pip3 install --upgrade git+https://github.com/kindlychung/pygmail.git
or from PyPI:
pip3 install --upgrade pygmail2
Security
It uses smtp, that’s all. You can always check the source code, of course
Usage
You need put your gmail account and password in ~/.pygmailrc, for example:
xyz@gmail.com xyz_super_secret
From the shell:
- ::
echo “hi there” | gmailsend xxx@yyy.com –subj hi –attach /path/to/file gmailsend xxx@yyy.com –subj hi –attach /path/to/file –body_file /path/to/bodyfile ## for help gmailsend -h
From python shell you can do things like:
from pygmail2.Pygmail import mo from pygmail2.Addr import ad # send to one address mo.sm(to_addr = "xyz@example.com", subject= "test", text = "<b>hi there</b>") # send attachments mo.sm(to_addr = "xyz@example.com", subject= "test", text = "<b>hi there</b>", attachments = ["/tmp/x.txt", "/tmp/y.png"]) # send to multiple addresses mo.sm(to_addr = ["xyz@example.com", "aaa@bbb.org"], subject= "test", text = "<b>hi there</b>", attachments = ["/tmp/x.txt", "/tmp/y.png"]) # use html file as mail body mo.smf(to_addr = ["xyz@example.com", "aaa@bbb.org"], subject= "test", mailfile = "/tmp/x.html", attachments = ["/tmp/x.txt", "/tmp/y.png"])
You can store an address book in the csv format in the ~/.pygmail/email.csv file. For example:
Xiao Lu,xl@eepcxx.org
Then you access this email address by:
ad.xiao_lu_xl_eepcxx_org
The advantage of this is that you got autocompletion for free.
To save some typing, you can put the following lines in ~/.pygmail/startup.py:
from pygmail2.Pygmail import mo from pygmail2.Addr import ad
And in your ~/.bash_aliases you can say:
alias pym='PYTHONSTARTUP=~/.pygmail/startup.py ipython3'
Then every time you want to send an email, you can just start it up by pym.
Change log
single recipient and single attachment now don’t require using list
Enabled attachments
Email address autocompletion
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.