Son NK
|
6e54b4fed8
|
make sure to set user_id when creating contact
|
2020-03-20 09:54:38 +01:00 |
|
Son NK
|
8ce9d56e84
|
only premium user can encrypt emails with PGP
|
2020-03-19 19:19:04 +01:00 |
|
Son NK
|
c6138828c2
|
fix to_header
|
2020-03-19 11:33:21 +01:00 |
|
Son NK
|
ca4f02426c
|
fix alias != address
|
2020-03-19 11:15:02 +01:00 |
|
Son NK
|
4a2523d20e
|
refactor handle_bounce
|
2020-03-17 12:12:11 +01:00 |
|
Son NK
|
a597fb3832
|
fix should_append_alias
|
2020-03-17 12:10:13 +01:00 |
|
Son NK
|
2d90d35647
|
rename gen_email_id -> alias_id
|
2020-03-17 12:01:18 +01:00 |
|
Son NK
|
4f281bdbbb
|
rename GenEmail -> Alias, gen_email to alias whenever possible
|
2020-03-17 11:51:40 +01:00 |
|
Son NK
|
bea870ef8b
|
rename ForwardEmailLog to EmailLog
|
2020-03-17 11:10:50 +01:00 |
|
Son NK
|
f2d630e597
|
rename forward_id to contact_id
|
2020-03-17 11:05:53 +01:00 |
|
Son NK
|
17974de746
|
rename ForwardEmail to Contact
|
2020-03-17 10:56:59 +01:00 |
|
Son NK
|
027cbb10d9
|
use parseaddr instead of get_email_part
|
2020-03-15 22:32:48 +01:00 |
|
Son NK
|
6b6fca2281
|
use email.utils.parseaddr and formataddr instead of get_email_name
|
2020-03-15 22:29:53 +01:00 |
|
Son NK
|
b19be41a5e
|
Support download email file in browser
|
2020-03-15 18:39:59 +01:00 |
|
Son NK
|
b3977e5efd
|
reformat
|
2020-03-15 12:26:35 +01:00 |
|
Son NK
|
9cdf766825
|
Send refused email notif to user email instead of mailbox
|
2020-03-15 12:15:11 +01:00 |
|
Son NK
|
0525e5822a
|
Not include original email in automatic disable alias email
|
2020-03-15 10:50:46 +01:00 |
|
Son NK
|
5db92b049d
|
Inform refused email to mailbox
|
2020-03-14 23:00:33 +01:00 |
|
Son NK
|
69198ff08a
|
delete all unnecessary headers in PGP
|
2020-03-14 22:24:02 +01:00 |
|
Son NK
|
0bb9830680
|
Store the bounced email in email handling.
|
2020-03-14 16:34:23 +01:00 |
|
Son NK
|
e713efee98
|
reformat
|
2020-03-13 10:34:41 +01:00 |
|
Son NK
|
be9d2cdbe3
|
delete sender header
|
2020-03-13 10:34:02 +01:00 |
|
Son NK
|
5674cab390
|
fix KeyError exception: use add_or_replace_header instead of msg.replace_header
|
2020-03-10 09:56:47 +01:00 |
|
Son NK
|
1f370abf4d
|
Merge branch 'master' into staging
|
2020-03-09 13:35:42 +01:00 |
|
Son NK
|
cdea0e08ce
|
improve logging
|
2020-03-09 08:45:16 +01:00 |
|
Son NK
|
612e4f6717
|
encrypt forwarded emails to gpg-enabled mailbox
|
2020-03-08 23:07:23 +01:00 |
|
Son NK
|
a1bdd94ef1
|
append alias into the TO header if it's not present in To or CC
|
2020-03-05 21:13:36 +01:00 |
|
Son NK
|
a6f4059d5d
|
make sure to set mailbox_id when creating GenEmail
|
2020-03-05 17:03:07 +01:00 |
|
Son NK
|
b15eeb10c5
|
If POSTFIX_SUBMISSION_TLS, use port 587
|
2020-03-03 10:49:27 +01:00 |
|
Son Nguyen Kim
|
773e24dd9a
|
Merge pull request #90 from simple-login/handle-bounced
Handle bounced
|
2020-02-22 22:37:11 +07:00 |
|
Son NK
|
19e179e268
|
use warning level for alias deleted before log
|
2020-02-22 21:49:19 +07:00 |
|
Son NK
|
f80de382fe
|
Prettify alias log
|
2020-02-22 21:09:07 +07:00 |
|
Son NK
|
78ef1cb8d4
|
notify user when emails sent to alias are bounced.
|
2020-02-22 20:57:19 +07:00 |
|
Son NK
|
f416dc6af6
|
refactor and fix catch-all domain
|
2020-02-20 15:36:02 +07:00 |
|
Son NK
|
98aaed6c8c
|
refactor email handler: extract get_or_create_forward_email()
|
2020-02-19 22:49:40 +07:00 |
|
Son NK
|
e4e1429aae
|
refactor email-handler: move handle_forward, handle_reply to outside of MailHandler class
|
2020-02-19 22:17:13 +07:00 |
|
Son NK
|
fc09f911a4
|
refactor email-handler: extract try_auto_create()
|
2020-02-19 22:15:27 +07:00 |
|
Son NK
|
78ed6eab5a
|
Handle envelop can have several recipients
|
2020-02-19 21:50:38 +07:00 |
|
Son NK
|
1454973681
|
fix formatting
|
2020-02-15 21:05:49 +07:00 |
|
Son NK
|
b663703232
|
if alias has been deleted before, do not auto-create it with directory or catch-all domain
|
2020-02-15 21:05:49 +07:00 |
|
Son NK
|
4d69f813c1
|
Handle the bounce case where bounce report is sent to reply-email
|
2020-02-15 17:04:22 +07:00 |
|
Son NK
|
7598a167d0
|
Improve emails that inform unauthorized user
|
2020-02-11 22:58:30 +07:00 |
|
Son NK
|
b41a61165c
|
use mailbox_email when notifying user attempt to send from his alias
|
2020-02-11 22:46:53 +07:00 |
|
Son NK
|
2efe8cd160
|
take into account mailbox in reply phase: check the reply must come from mailbox
|
2020-02-10 23:24:14 +07:00 |
|
Son NK
|
7407f678ce
|
take into account mailbox in forward phase
|
2020-02-10 23:23:40 +07:00 |
|
Son NK
|
a2bbd49232
|
handle the case reply_email not exist
|
2020-02-02 18:53:26 +07:00 |
|
Son NK
|
98fd940b02
|
use warning log for reply from alias sent by unknown email
|
2020-01-31 12:06:34 +07:00 |
|
Son NK
|
1e8a7e4bca
|
use can_create_new_alias() check when creating alias on-the-fly instead of is_premium() check
|
2020-01-30 14:43:31 +07:00 |
|
Son Nguyen Kim
|
4d7cd74190
|
Merge pull request #60 from SibrenVasse/master
Hide seperator from 'from header' if no name present
|
2020-01-30 00:01:50 +07:00 |
|
Sibren Vasse
|
d7aae24ebb
|
Hide seperator from 'from header' if no name present
|
2020-01-29 14:31:54 +01:00 |
|
Son NK
|
097e96832f
|
Update From header for forward-email if changed
|
2020-01-29 10:47:13 +07:00 |
|
Son NK
|
e27cb63413
|
Merge branch 'master' into notify-user-reply
|
2020-01-22 23:28:20 +01:00 |
|
Son NK
|
bae556f521
|
log msg["From"] for the failed reply from alias
|
2020-01-22 23:21:36 +01:00 |
|
Son NK
|
00dac9a95a
|
notify user if reply from alias is NOT sent from their personal email
|
2020-01-22 23:18:27 +01:00 |
|
Son NK
|
bdf75951f1
|
support ALIAS_DOMAINS
- use verify_prefix_suffix() in /api/alias/custom/new
-
|
2020-01-22 10:24:17 +01:00 |
|
Son NK
|
abab161d2d
|
Allow catch-all on the alias default domain
|
2020-01-20 23:01:40 +01:00 |
|
Son NK
|
6f414ba405
|
Support + and # as directory separator
|
2020-01-19 22:06:36 +01:00 |
|
Son NK
|
3f0aae6f02
|
send email notifying user that alias creation works only in premium plan
|
2020-01-16 22:06:36 +01:00 |
|
Son NK
|
1e084f306e
|
log more info
|
2020-01-10 18:23:37 +01:00 |
|
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 |
|