Email client
Language choice
Use Python for speed of development and cross-platform code.
Security
Security features include:
- Only support TLS 1.2 and higher.
- Only support 'strong' cipher suites.
- Do not allow connections to servers with invalid certificates, e.g. expiry date in past.
Security in Python (see SSL security):
import ssl context = ssl.create_default_context() context.options |= ssl.OP_NO_TLSv1 context.options |= ssl.OP_NO_TLSv1_1
Notes
- Spawn new thread to send mail asynchronously without affecting the rest of the GUI.