Commit Graph

336 Commits

Author SHA1 Message Date
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
Son NK 5ada83d48d use warning level for "Cannot parse original message" error 2020-05-21 20:05:07 +02:00
Son NK 9a423f3247 make should_append_alias case insensitive 2020-05-20 22:35:28 +02:00
Son NK 3898d2d7a6 fix 2020-05-20 22:34:06 +02:00
Son NK 93d972df09 make sure to use lowercase for alias email 2020-05-20 18:12:14 +02:00
Sibren Vasse 1df9f8a95c Do reverse alias replacement before DKIM signing and replace by contact email 2020-05-20 10:56:42 +02:00
Sibren Vasse e905e151ca Create user setting for replacing reverse alias (default: false) 2020-05-17 19:40:46 +02:00
Son NK b84b7c332e replace the "ra+string@simplelogin.co" by the alias 2020-05-17 14:11:24 +02:00
Son NK 6300c0eaa1 an alias can still be disabled even of original message cannot be parsed. 2020-05-17 14:01:55 +02:00
Son NK f35b9e7542 do not encrypt if alias disables PGP 2020-05-16 20:51:07 +02:00
Son NK 80f614da6c refactor: remove unused var 2020-05-16 20:51:07 +02:00
Son NK f577adc0d4 log more info 2020-05-16 18:24:51 +02:00
Son NK 362d101bab Merge branch 'master' into multiple-mailboxes
# Conflicts:
#	app/dashboard/templates/dashboard/custom_alias.html
#	email_handler.py
#	templates/emails/com/newsletter/mobile-darkmode.html
2020-05-16 11:28:25 +02:00
Son Nguyen Kim ec8f46f01a
Merge pull request #191 from SibrenVasse/spam
Also enable spam check when pgp is enabled
2020-05-15 18:06:57 +02:00
Sibren Vasse 8769383724 Also enable spam check when pgp is enabled 2020-05-15 16:34:07 +02:00
Son NK 3d4b44dd15 handle the case contact_from_header can be None 2020-05-15 15:46:37 +02:00
Son NK c43fa65cd4 If From header is empty, try creating contact with envelope sender 2020-05-13 22:35:27 +02:00
Son NK 54ce1dc964 remove unnecessary max_nb_email limit in spf 2020-05-11 14:46:18 +02:00
Son NK 36a8e311ea Merge branch 'master' into multiple-mailboxes 2020-05-11 10:21:59 +02:00
Son NK 7c55c5c44a return 250 instead of 451 when SPF fails 2020-05-11 10:21:44 +02:00
Son NK 0d117126db save the mailbox that a bounce affects 2020-05-10 20:09:54 +02:00
Son NK 5b71b34f9e handle alias unsubscribe 2020-05-10 20:09:54 +02:00
Son NK 336bdb196d Detect unknown mailbox using envelope mail_from 2020-05-10 20:09:54 +02:00
Son NK 33d578c78e parse _MAILBOX_ID_HEADER to handle bounce message 2020-05-10 20:09:54 +02:00
Son NK 8d65175ac5 set mailbox ID in X-SimpleLogin-Mailbox-ID header 2020-05-10 20:09:54 +02:00
Son NK 97e1c334af call strip() on rcpt_to just to be sure 2020-05-10 20:09:54 +02:00
Son NK 4b479defa8 Support alias having multiple mailboxes in forward phase 2020-05-10 20:09:54 +02:00
Son NK 7f6ba313fd add strip() to rcpt_to just in case 2020-05-10 20:09:54 +02:00
Son NK 2755e67c31 simplify code: replace mailbox_email by mailbox.email 2020-05-10 20:09:54 +02:00
Son NK 59036972f1 refactor handle_forward: move the disabled alias case to the beginning 2020-05-10 20:09:54 +02:00
Son NK b5e7f05bfc allow user sends emails to his alias from his mailbox 2020-05-10 20:09:54 +02:00
Son NK f59ccd4018 optimize import email_handler 2020-05-10 20:09:54 +02:00
Son NK 9ddb8ff2d4 add more info to spf alert email. Set the max number of emails per 24h to 1 2020-05-10 10:37:56 +02:00
Son NK a48f7db599 refactor: create handle_unknown_mailbox() 2020-05-09 23:12:30 +02:00
Son NK 9234527ea6 refactor: put spf handling into a method 2020-05-09 23:09:11 +02:00
Son NK 178515dbde alert user when spf fails 2020-05-09 23:00:30 +02:00
Son NK c6e293ef8e small refactor 2020-05-09 22:54:55 +02:00
Son NK 7833d4609f Use send_email_with_rate_control when alerting user 2020-05-09 20:45:04 +02:00
Son NK e84e4d50c7 add logging 2020-05-09 17:48:57 +02:00
Son NK 0add756654 make sure SPF exception does not stop reply-phase 2020-05-09 17:34:49 +02:00
Son NK 7654992fc2 refactoring: replace "X-SimpleLogin-Client-IP" by constant 2020-05-09 17:31:37 +02:00
Son NK bd68a52158 make sure to remove "X-SimpleLogin-Client-IP" during forward 2020-05-09 17:30:21 +02:00