Skip to content
A lightweight, scalable SMTP client for sending email in MicroPython
Branch: master
Clone or download
Type Name Latest commit message Commit time
Failed to load latest commit information.
examples following standard email template Jul 14, 2019
LICENSE Initial commit Sep 18, 2018 Add MAIL FROM example Jul 9, 2019 fix a bug in AUTH login Jul 14, 2019

µMail (MicroMail)

A lightweight, scalable SMTP client for sending email in MicroPython.


A bare minimal approach

import umail
smtp = umail.SMTP('', 587, username='', password='mypassword')'')
smtp.send("This is an example.")

API docs:

  • umail.SMTP(host, port, [ssl, username, password])

    • host - smtp server
    • port - server's port number
    • ssl - set True when SSL is required by the server
    • username - my username/email to the server
    • password - my password
  • SMTP.login(username, password) If you did not login when intializing the server, do it here!

  •, mail_from)

    • addrs - Recipient's email address. If multiple recipents, use a list, eg. ['', '']
    • mail_from - manually specify the MAIL FROM address, default value is your smtp username. example
  • SMTP.write(content) To send a long email or an email that contains large attachments, you will most likely exceed the memory limit of your MCU.
    Use this function to break up your email into smaller chunks.
    Each call to write() will cause the current content to be sent to the server so you can load the next chunk.

  • SMTP.send([content]) Finish writing the email.
    Make the SMTP server to actually send your email to the recipent address.

  • SMTP.quit() Close the connection to the server


For more details, pleasse refer to sample code under examples\

You can’t perform that action at this time.