Prefer smtp.send_message over smtp.sendmail
This lets smtplib deal with choosing the right message formatting based on the
remote server's capabilities.
Mark our messages as Auto-Submitted
Drop auto-submitted replies
The current code doesn't drop auto-submitted replies, it only drops
auto-generated messages (that are not a direct reply to another message).
Add mailing list description to threads
Drop out-of-office replies
Don't split header fields
By default Python's policy has max_line_length=78. This is a good idea when
generating e-mails, however when forwarding them this may re-format long lines.
Because of this, DKIM signatures may get broken .
This commit changes max_line_length to 998, the RFC's hard limit.
Additionally, smtp.sendmail calls are replaced with smtp.send_message, which
leaves the formatting to smtplib. Previously email.policy.SMTPUTF8 was used,
which could result in raw UTF-8 being sent to servers which don't support
Send our own bounce emails instead of postfix
Allow admins to permit multipart emails with HTML
Import db into api/patches.py
Don't show message date if unset
Add search to API, sender timestamp criteria
Fix broken timestamps in previous migration
Add sender timestamp column to email table
Add Date & Message-ID to subscription confirmation
Fix weird mail addresses in dkim parser
Don't fail subsequent deliveries when one fails
Fix searching for non-patches
Add patchset search tools
Use text-muted for applied patches
Bump width of status label