Commit graph

321 commits

Author SHA1 Message Date
Son Nguyen Kim
cdd69b381e
Merge pull request #27 from simple-login/staging
Fix postfix-python bouncing problem
2020-01-10 13:27:32 +01:00
doanguyen
ef2e390df3 Merge branch 'staging' of https://github.com/simple-login/app into staging 2020-01-10 11:28:08 +01:00
doanguyen
be6db8fab1 fix error email bouncing between postfix and email_handler 2020-01-10 11:26:51 +01:00
Son NK
851ddce5a5 Merge remote-tracking branch 'origin/master' into directory
# Conflicts:
#	email_handler.py
2020-01-09 10:37:33 +01:00
Son NK
ecce1eff99 remove support for directory+anything@EMAIL_DOMAIN 2020-01-08 22:09:46 +01:00
Son NK
b8dc368c78 fix formatting 2020-01-08 21:54:22 +01:00
Son NK
ce9402e1e6 Fix directory name parsing 2020-01-08 21:52:14 +01:00
Son NK
9377e2a0ed Create alias on the fly if it belongs to a directory 2020-01-08 21:38:41 +01:00
Son NK
aea4426e1e make sure user original email not revealed in Received-SPF header 2020-01-08 12:44:29 +01:00
Son NK
27b9312057 fix formatting 2020-01-07 19:50:36 +01:00
Son NK
f1befd7024 delete Reply-To header in reply phase 2020-01-07 19:50:24 +01:00
Son NK
ba46d8f7e0 add delete_header() 2020-01-07 19:49:26 +01:00
Son NK
3bca9fde6b refactor: move add_or_replace_header to email_utils 2020-01-07 19:46:57 +01:00
Son NK
072e73187b make sure to replace Reply-To header in reply phase 2020-01-07 19:14:36 +01:00
Son Nguyen Kim
f62a7ffe47
Merge pull request #21 from simple-login/staging
change the smtp response code
2020-01-04 14:40:15 +01:00
doanguyen
0e7016b2e0 change the smtp response code 2020-01-04 11:36:55 +01:00
Son NK
0dc901d05d make email lowercase before processing them 2020-01-04 10:25:19 +01:00
Son NK
28a0f9c616 Set automatic_creation flag when alias is created with catch-all feature 2019-12-30 18:48:25 +01:00
Son NK
f08ca682c0 Create alias on-the-fly if the corresponding custom domain allows catch-all 2019-12-30 18:26:07 +01:00
Son NK
4fd6b617c8 fix domain used in dkim signature 2019-12-25 17:33:24 +00:00
Son NK
c62bfb292a add DKIM signature for domain that is dkim verified 2019-12-25 17:23:43 +00:00
Son NK
2daeb9501d remove email subject logging 2019-12-18 18:07:20 +02:00
Son NK
569fda47a9 fix DKIM fail on reply phase: the DKIM-signature should be added at the end of processing 2019-12-17 21:43:31 +02:00
Son NK
4799721667 remove DKIM-Signature if any 2019-12-17 19:06:17 +02:00
Son NK
a61b900675 Sign DKIM at app level
- add DKIM_PRIVATE_KEY_PATH param
- create email_utils.add_dkim_signature
- add DKIM signature for transactional emails
- add DKIM signature for forward & reply emails. In reply phase, only non-custom-domain emails have DKIM added.
2019-12-17 18:50:26 +02:00
Son NK
f8293bc618 make ADMIN_EMAIL optional 2019-12-16 19:36:59 +02:00
Son NK
615e2a4d91 use send_by_postfix instead of sending bounce email directly 2019-12-15 18:55:18 +02:00
Son NK
7e76c3a0a9 send bounce directly instead of return 550 2019-12-15 18:55:18 +02:00
Son NK
881525dfc2 use random_string for email_handler as reply email is not user-facing 2019-12-15 18:55:18 +02:00
Son NK
c5bf95fffe forward reply email can only by used by user email 2019-12-15 18:55:18 +02:00
Son NK
46b0872710 handle both emails with reply+ and ra+ prefix 2019-12-15 18:55:18 +02:00
Son NK
8c3834c957 generate a reply_email, make sure it is unique 2019-12-15 18:55:18 +02:00
Son NK
62e0ae27a0 move get_email_name, get_email_part to email_utils 2019-12-15 18:55:18 +02:00
Son NK
ec62fad3a0 remove notify_admin, replace by general stats 2019-12-15 18:55:18 +02:00
Son NK
b0f4ab8a6d use sendmail instead of send_message in reply phase to avoid unicode problem 2019-12-15 18:55:18 +02:00
Son NK
572ce1de57 fix db connections leaks in email_handler: override the default app.teardown_appcontext 2019-12-15 18:55:18 +02:00
Son NK
7f908a9da8 display website_from on alias log 2019-12-15 18:55:18 +02:00
Son NK
8d60ebd456 handle the case email from header has the format "First Last <ab@cd.com>" 2019-12-15 18:55:17 +02:00
Son NK
c37ba0e1de website_email: use From header instead of envelope from 2019-12-15 18:55:17 +02:00
Son NK
29d48b7d0f reduce sleep time in email_handler 2019-12-15 18:55:17 +02:00
Son NK
1435a77130 send raw message instead of using EmailMessage object 2019-12-15 18:55:17 +02:00
Son NK
a9112c0480 remove DKIM-Signature for custom domain 2019-12-15 18:55:17 +02:00
Son NK
66b59a265a remove redundant check in handle_RCPT to support custom domain. Add check to reply phase. 2019-12-15 18:55:16 +02:00
Son NK
fbf4a97a3e do NOT modify "to" header as it's not displayed in mail client anyway 2019-12-15 18:55:15 +02:00
Son NK
e0bf5245a3 remove DKIM-Signature as Postfix will add this header 2019-12-15 18:55:15 +02:00
Son NK
64f7d04960 fix forward phase: use reply email as envelope-from 2019-12-15 18:55:15 +02:00
Son NK
1cb8282cb2 change the to: header so target is user email 2019-12-15 18:55:15 +02:00
Son NK
9eb85abac4 remove srs 2019-12-15 18:55:15 +02:00
Son NK
837e1ffcf6 add List-Unsubscribe-Post header. Block alias directly if POST, otherwise ask user confirmation. 2019-12-15 18:55:15 +02:00
Son NK
cb14277bc7 add List-Unsubscribe header to block quickly an alias 2019-12-15 18:55:15 +02:00
Son NK
75e07fff04 put original name and email to from: header 2019-12-15 18:55:15 +02:00
Son NK
5b1819e891 do not modify subject 2019-12-15 18:55:15 +02:00
Son NK
7207312ec9 refactor email_handler: create handle_forward and handle_reply 2019-12-15 18:55:15 +02:00
Son NK
34cf72eaee create POSTFIX server 2019-12-15 18:55:15 +02:00
Son NK
0ae7f2d68a no need to modify reply-to. Remove this header if present. 2019-12-15 18:55:15 +02:00
Son NK
a70928d166 Modify From: header to reply_email so email passes DMARC 2019-12-15 18:55:15 +02:00
Son NK
a28c90f110 Change subject to let user know the email is forwarded from SL 2019-12-15 18:55:15 +02:00
Son NK
cf3a2258b2 return 510 if no such alias 2019-12-15 18:55:15 +02:00
Son NK
49d66c4226 tentative to fix UnicodeEncodeError https://sentry.io/organizations/son/issues/1339911828/?project=1478143&query=is%3Aunresolved 2019-12-15 18:55:15 +02:00
Son NK
032322a3d4 log forwarded emails 2019-12-15 18:55:14 +02:00
Son NK
a5a3bbbd63 if an alias is disabled, accept email but not forward to user inbox 2019-12-15 18:55:14 +02:00
Son NK
e335ae7d52 fix replace_header 2019-12-15 18:55:13 +02:00
Son NK
8b67a13581 fix case where reply-to is already present 2019-12-15 18:55:13 +02:00
Son NK
6015dbd4d1 Revert "try fixing spam issue: use personal email in forward phase"
This reverts commit 2f46a225e1b9099c2905a771132445caf42b4284.
2019-12-15 18:55:13 +02:00
Son NK
bfb1c27528 try fixing spam issue: use personal email in forward phase 2019-12-15 18:55:13 +02:00
Son NK
b80dbdf60b notify admin if someone uses reply phase 2019-12-15 18:55:13 +02:00
Son NK
a01c94187f v1 of email handler, forward and reply phase work! 2019-12-15 18:55:13 +02:00
Son NK
80babefdb9 use 1.1.1.1 as host IP 2019-12-15 18:55:13 +02:00
Son NK
8f878b4c5d try to make working with postfix outside docker (in host) 2019-12-15 18:55:13 +02:00
Son NK
c2546cb0de fix test 2019-12-15 18:55:13 +02:00
Son NK
d3985e2cf3 email handler: forward phase. Todo: reply phase 2019-12-15 18:55:13 +02:00