Commit graph

377 commits

Author SHA1 Message Date
Son NK
e79522b638 take into account Premium domains 2020-10-15 16:21:31 +02:00
Son NK
805e78cad1 rename email_belongs_to_alias_domains -> email_belongs_to_default_domains 2020-10-14 18:46:05 +02:00
Son NK
8268568f08 add mailbox.disabled column. Disable a mailbox if it fails tests for 10 days consecutive. 2020-10-12 13:28:21 +02:00
Son NK
6993721ae2 disable email forwards/sending if user is disabled 2020-10-04 12:49:43 +02:00
Son NK
6253a4eb23 set SpamAssassin timeout to 300s 2020-09-30 14:03:19 +02:00
Son NK
abc42df0fb create get_spam_score() as a sync function, use a simpler version for running MailHandler. Remove async/await 2020-09-30 11:05:21 +02:00
Son NK
61e4455406 logging more for spamassassin 2020-09-29 16:00:53 +02:00
Son NK
d7ca639dc1 format 2020-09-29 13:11:04 +02:00
Son NK
65938d2fb7 improve email template 2020-09-29 13:03:15 +02:00
Son NK
e8ccbced59 refactor code: wrap smtp.sendmail into sl_sendmail() 2020-09-29 12:57:14 +02:00
Son NK
17ef292779 update reply-must-use-personal-email template 2020-09-29 11:00:50 +02:00
Son NK
0a7643b367 take into account mailbox authorized address when check for spoofing 2020-09-28 17:43:09 +02:00
Son NK
063885ccf7 Add get_mailbox_from_mail_from() 2020-09-28 17:41:16 +02:00
Son NK
740d31871d remove asyncio.shield 2020-09-17 17:03:20 +02:00
Son NK
5f8fff5af3 wrap shield around aiospamc.check to avoid the task being canceled 2020-09-16 19:47:12 +02:00
Son NK
25118dff9b use parseaddr_unicode instead of parseaddr 2020-09-16 17:28:15 +02:00
Son NK
5c8d31111c add contact to handle_unknown_mailbox logging 2020-09-16 17:24:42 +02:00
Son NK
b9b442294b remove unnecessary sanitize on mailbox email 2020-09-14 20:02:46 +02:00
Son NK
cb2033443c fill up contact mail_from, from_header if possible 2020-09-14 18:22:26 +02:00
Son NK
1ab36bd22b remove unnecessary email address sanitize 2020-09-14 17:38:48 +02:00
Son NK
ed2e748d1e sanitize envelope mail_from and rcpt_tos 2020-09-14 17:30:01 +02:00
Son NK
e6dd2f1717 do not forward to unverified mailbox 2020-09-10 09:38:30 +02:00
Son NK
0c9106717b handle case where contact is concurrently created 2020-09-09 17:00:07 +02:00
Son NK
15d7f6407e fix compatible with mailvelope add name=encrypted.asc 2020-09-08 11:10:22 +02:00
Son NK
e36768824f handle the case contact already added 2020-09-03 19:42:52 +02:00
Son NK
b83c513607 use warning level 2020-09-03 15:43:33 +02:00
Son NK
0dbc755790 use warning level when not able to parse email-log-id 2020-09-03 15:43:01 +02:00
Son NK
a25559dace able to choose port to listen on in email_handler. Default to 20381 2020-09-02 17:36:11 +02:00
Son NK
d97966a2e8 use warning level when cannot parse mailbox-id 2020-09-02 10:26:46 +02:00
Son NK
5ea3d1bd42 use warning level for when email_log cannot be parsed 2020-09-02 10:25:12 +02:00
Son NK
b7b4c07cd3 use warning level for SMTPRecipientsRefused error 2020-09-02 10:20:04 +02:00
Son NK
c03bb70755 handle SMTPRecipientsRefused in forward phase 2020-09-02 10:16:13 +02:00
Son NK
916e6a1a7f remove whitespace for rcpt in forward phase 2020-09-02 09:58:58 +02:00
Son NK
85b87bbacb improve send_email_with_rate_control to use on any day range 2020-08-31 17:32:46 +02:00
Son NK
8079746e47 handle case where alias mailbox is invalid 2020-08-30 19:22:21 +02:00
Son NK
171100eda7 return 421 in case mailbox is invalid 2020-08-30 19:08:53 +02:00
Son NK
e117726cd9 send alert email when a mailbox is an email alias 2020-08-30 19:06:50 +02:00
Son NK
e4271f725c update "reply must from mailbox" email wording 2020-08-27 11:12:48 +02:00
Son NK
a6df989a8f update cycle email subject 2020-08-27 11:10:16 +02:00
Son NK
4a90ea9aca send warning about email cycle at most once 2020-08-27 10:43:48 +02:00
Son NK
fdedc24358 black new version 2020-08-27 10:20:48 +02:00
Son NK
bb6e2a35ca send at max 1 email / day for the cycle email issue 2020-08-27 10:16:13 +02:00
Son NK
26ecf38760 use warning log level for cycle email issue 2020-08-27 10:15:40 +02:00
Son NK
828d9e4fe1 ignore spoof check if alias.disable_email_spoofing_check 2020-08-26 14:39:51 +02:00
Son NK
ab911fd55e do not forward cycle email: email sent to alias from its mailbox 2020-08-25 12:51:19 +02:00
Son NK
ce791567f1 delete header if empty when replacing header 2020-08-25 12:51:19 +02:00
Son NK
61fd81489f Set _EMAIL_LOG_ID_HEADER header for reply phase 2020-08-25 12:51:19 +02:00
Son NK
b53cc94310 set "X-SimpleLogin-Type" header for reply phase 2020-08-25 12:51:19 +02:00
Son NK
d410b34b50 set a custom Message-ID header 2020-08-25 12:51:19 +02:00
Son NK
0bb10d8fc3 add spam score processing time for forward phase 2020-08-24 18:39:16 +02:00
Son NK
ffa9304d00 log waiting time for get_spam_score 2020-08-24 17:47:56 +02:00
Son NK
9cf807f7bd special handling for case when alias can't be disabled 2020-08-24 10:48:54 +02:00
Son NK
29b6b52a62 try to get email log and mailbox from bounce report 2020-08-24 10:23:49 +02:00
Son NK
06c48244e4 black 2020-08-21 12:03:23 +02:00
Son NK
dc8c2f403e try to fix Message.as_bytes() by trying different policies 2020-08-21 12:01:11 +02:00
Son NK
01afb7557c small refactoring 2020-08-21 10:47:10 +02:00
Son NK
2b2512e775 no need to create a copy of message when there's only 1 mailbox 2020-08-21 10:41:50 +02:00
Son NK
5bb4c20fba fix nb_bounced computation 2020-08-21 10:32:10 +02:00
Son NK
90eae05e9e better logging 2020-08-21 10:20:08 +02:00
Son NK
386fcbdc3a refactoring 2020-08-21 10:18:58 +02:00
Son NK
a3e052cc7b black 2020-08-20 14:28:57 +02:00
Son NK
db0e197500 set the email log that has been bounced 2020-08-20 14:27:05 +02:00
Son NK
1de57119c4 add missing commit 2020-08-20 11:58:46 +02:00
Son NK
50683be4f8 increase spamassassin timeout to 300s 2020-08-17 11:42:46 +02:00
Son NK
38bf117f29 move the lock sync to _handle 2020-08-17 11:40:58 +02:00
Son NK
d8a415c00a do not use aiostmpd controller 2020-08-17 11:39:13 +02:00
Son NK
24d8babe46 handle case spamassassin can't be reached 2020-08-16 21:54:19 +02:00
Son NK
cbdd080587 revert port binding on email handler 2020-08-16 19:34:00 +02:00
Son NK
6835c5b69d handle case cannot parse mailbox_id 2020-08-16 18:55:14 +02:00
Son NK
a3a99ac3f4 use lock to handle 1 email at a time 2020-08-16 18:51:12 +02:00
Son NK
d99d186bc0 revert the ignore AssertionError commit 2020-08-16 18:50:20 +02:00
Son NK
61a8f1e676 ignore the "Popped wrong app context" Assertion Error raised by AppContext 2020-08-16 15:34:44 +02:00
Son NK
d4a6269e43 bind email handler to 127.0.0.1 instead of 0.0.0.0 2020-08-16 14:51:40 +02:00
Son NK
98a9e88ce4 fix spamassassin: add ending linebreak 2020-08-16 14:34:50 +02:00
Son NK
1ab9c926dd set email_log.spam_score 2020-08-16 14:28:47 +02:00
Son NK
d738997c4e return 421 if any unexpected error happen 2020-08-16 11:10:01 +02:00
Son NK
79853b7736 use a timeout for get_spam_score 2020-08-16 10:22:16 +02:00
Son NK
bf555ed605 detect spam in reply phase 2020-08-15 16:53:57 +02:00
Son NK
673b08712c use SPAMASSASSIN server if available 2020-08-15 16:38:16 +02:00
Son NK
7e5deef34f add time measures to email_handler 2020-08-11 17:32:04 +02:00
Son NK
dc206b41c7 lighten mail handler 2020-08-11 16:31:08 +02:00
Son NK
d89e41d0e5 use user.max_spam_score if present 2020-07-23 11:11:43 +02:00
Son NK
6faaacc972 add more logging 2020-07-23 10:32:10 +02:00
Son NK
6437ee46e0 use LOG.exception instead of LOG.error to provide stacktrace 2020-07-17 12:59:07 +02:00
Son NK
7a20261aae add more info to error message 2020-07-05 16:25:54 +02:00
Son NK
85bb30abb0 Notify user can reply cannot be sent 2020-06-20 16:19:01 +02:00
Son NK
c61e7c697d call forward_email_to_mailbox on the msg copy 2020-06-12 00:02:45 +02:00
Son NK
9c9319c94e handle emails sent to sender 2020-06-10 13:57:23 +02:00
Son NK
0c4e48c906 remove bounced_email param from send_email_with_rate_control 2020-06-10 12:17:04 +02:00
Son NK
c36870daa8 force convert header to string if needed 2020-06-10 09:34:58 +02:00
Son NK
53e9281204 avoid forward email to invalid mailbox 2020-06-09 17:16:32 +02:00
Son NK
9b1ca0a2f1 return 421 when pgp encryption fails 2020-06-08 13:54:42 +02:00
Son NK
b962d6a2c1 encrypt sent email if contact has PGP enabled 2020-06-07 13:40:24 +02:00
Son NK
f4beb81195 refactor load_pgp_public_keys 2020-06-07 12:46:59 +02:00
Son NK
16df2acb29 stop the email handler process when PGP error 2020-06-07 11:41:35 +02:00
Son NK
708816cb05 use warning level for SPF fail message 2020-06-06 23:38:19 +02:00
Sibren Vasse
5c50628d36 Fix reverse alias replacement multipart message 2020-05-28 20:25:51 +02:00
Son NK
c8c06aa10e do not automatically disable alias if it cannot be disabled 2020-05-27 14:12:32 +02:00
Son NK
a512fbc6e5 use POSTFIX_PORT instead of 25 if it's set 2020-05-21 20:43:12 +02:00
Son Nguyen Kim
57e3e29e70
Merge pull request #200 from SibrenVasse/dkim_fix
Fix reverse alias replacement
2020-05-21 20:08:38 +02:00