Last night I needed to send one email to support@creem.io from Guangzhou, China. Simple email — 15 minutes to draft. Sending it took over an hour.

Here's what I learned about the six most common ways to send Gmail from mainland China programmatically, and what finally worked.

Everything starts with SMTP

Habitual first try — Python smtplib with the Gmail app password:

import smtplib, ssl