Send MIME messages via SMTP server and retrieve messages via POP3 and IMAP
Project description
A simple script to send MIME message via SMTP server and retrieve messages via POP3
Installation
pip install SMTPEmail
Install using Git
git clone https://github.com/Weizhang2017/SMTPEmail.git
cd SMTPEmail
python install setup.py
Usage
Sending email via SMTP
from SMTPEmail import SMTP
client = SMTP(
SMTP_server=<domain> or <IP_address>,
SMTP_account=<account_name>,
SMTP_password=<SMTP_password>
)
client.create_mime(
recipient_email_addr='Jane.Doe@jane.com',
sender_email_addr='John.Doe@john.com',
subject='subject',
sender_display_name='John Doe',
recipient_display_name='Jane Doe',
content_html='<p>hello world</p>',
content_text='hello world'
)
client.send_msg()
Add customized email header
custom_header = {'Sender': 'john@abc.com'}
client.create_mime(
recipient_email_addr='Jane.Doe@jane.com',
sender_email_addr='John.Doe@john.com',
subject='subject',
sender_display_name='John Doe',
recipient_display_name='Jane Doe',
content_html='<p>hello world</p>',
content_text='hello world',
custom_header=custom_header
)
Retrieve email via POP3
messages will be returned in byte object
from SMTPEmail import POP3
client = POP3(
POP3_server = <domain> or <IP_address>,
POP3_account = <account_name>,
POP3_password = <POP3_password>
)
msgs = client.retrieve_msg()
for msg in msgs:
print(msg)
>>>print(client.mailbox_size())
{'message count': 804, 'mailbox size': 18096539}
Retrieve email via IMAP
from SMTPEmail import IMAP
client = IMAP(
IMAP_server = <domain> or <IP_address>,
IMAP_account = <account_name>,
IMAP_password = <IMAP_password>
)
#you can select which mailbox to access and which email to retrieve by passing parameters 'mailbox_name' and 'msg_id'
for msg in client.retrieve_msg(mailbox_name='inbox', msg_id='1,3,5-8,11'):
print(msg)
#'mailbox_name' and 'msg_id' are optional, the user will be promted to input the two parameters if either is missing
>>>msgs = client.retrieve_msg()
0. "INBOX"
1. "Templates"
...
Please select a mailbox:1
message id: 1 2 3 4 5 6 ...
Please select mail ID to retrieve email(e.g. 1-5,6,7): 1,3-6
Additonal features:
- Specify variable
delete=True
to delete the messages that have been retrieved, default value isFalse
- Specify variable
msg_id='all'
to retrieve all messages
Search emails via IMAP
Refer to RFC3501 for more search options
>>>for msg in client.retrieve_msg(mailbox_name='inbox', search_section='body', search_text='test_search'):
print(msg)
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
SMTPEmail-0.4.1.tar.gz
(5.5 kB
view hashes)
Built Distribution
Close
Hashes for SMTPEmail-0.4.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5f6f49d63e2a95de2caa0c558b3d7134d097145a0b661c5c255442045708b59e |
|
MD5 | 885ddfd213d60b9a78fa2d6aed054a19 |
|
BLAKE2b-256 | 32a52b81bddcf7c93ba12cf87467f7adbee42fa2e9d9fedd8c91ee738c1411ca |