Send email from Flask over SMTP

Configure Flask-Mail's SMTP settings for Unitpost and send from a verified domain.

What are the SMTP settings?

Hostsmtp.unitpost.com
Usernameunitpost(always this literal value)
PasswordYour Unitpost API key(must carry emails:send)
Port (STARTTLS)587(or 2587 if blocked)
Port (implicit TLS)465(or 2465 if blocked)
From addressAny address on a verified domain

How do I set it up?

  1. Install Flask-Mail

    Shell
    pip install Flask-Mail
  2. Configure and send

    Python
    import os
    from flask import Flask
    from flask_mail import Mail, Message
    
    app = Flask(__name__)
    app.config.update(
        MAIL_SERVER="smtp.unitpost.com",
        MAIL_PORT=587,
        MAIL_USE_TLS=True,
        MAIL_USERNAME="unitpost",
        MAIL_PASSWORD=os.environ["UNITPOST_API_KEY"],
        MAIL_DEFAULT_SENDER="you@yourdomain.com",
    )
    mail = Mail(app)
    
    def send_welcome(to: str) -> None:
        msg = Message("Welcome", recipients=[to], html="<p>Sent via SMTP.</p>")
        mail.send(msg)
  3. Verify delivery

    Check Activity. Bare Python: smtplib.