Tutorial 2: Email¶
This sections shows several examples how to use email client.
API¶
Module hydratk.lib.network.email.client.
Method EmailClient is factory method which requires attribute engine to create proper EmailClient object instance. Additional attributes are passed as args, kwargs.
Supported protocols:
- SMTP/SMTPS: module smtp_client
- IMAP/IMAPS: module imap_client
- POP/POPS: module pop_client
Methods:
connect: connect to mail server as sender (SMTP) or receiver (IMAP, POP)
disconnect: disconnect from mail server
send_email: send email (SMTP)
email_count: count emails stored on server (IMAP, POP)
list_emails: get list of emails stored on server (IMAP, POP)
receive_email: receive email (IMAP, POP)
Note
API uses HydraTK core functionalities so it must be running.
SMTP¶
# import library import hydratk.lib.network.email.client as email # initialize client client = email.EmailClient('smtp') # connect to SMTP server # returns bool client.connect(host='smtp.seznam.cz', user='lynushydra', passw='bowman') # send email subject = 'Hydra' message = 'This is testing email' sender = 'lynushydra@seznam.cz' recipients = ['lynushydra@seznam.cz'] cc = ['lynus@gmail.com'] bcc = ['lynus@gmail.com'] # returns bool client.send_email(subject, message, recipients, cc, bcc) # disconnect from server # returns bool client.disconnect()Note
SMTPS client is initialized using constructor attribute secured=True.
IMAP¶
# import library import hydratk.lib.network.email.client as email # initialize client client = email.EmailClient('imap') # connect to IMAP server # returns bool client.connect(host='imap.seznam.cz', user='lynushydra', passw='bowman') # count emails count = client.email_count() # get email list # returns IDs emails = client.list_emails() # receive email with ID 2 sender, recipients, cc, subject, message = client.receive_email(2)Note
IMAPS client is initialized using constructor attribute secured=True.
POP¶
# import library import hydratk.lib.network.email.client as email # initialize client client = email.EmailClient('imap') # connect to IMAP server # returns bool client.connect(host='pop3.seznam.cz', user='lynushydra', passw='bowman') # count emails count = client.email_count() # get email list # returns IDs emails = client.list_emails() # receive email with ID 2 sender, recipients, cc, subject, message = client.receive_email(2)Note
POPS client is initialized using constructor attribute secured=True.