Son
|
93009158a8
|
fix
|
2022-03-16 09:05:57 +01:00 |
|
Son
|
5127534a00
|
add more logging
|
2022-03-11 08:56:27 +01:00 |
|
Son
|
ed12e47077
|
reduce nb of commit
|
2022-03-10 08:33:26 +01:00 |
|
Son
|
fb00c18d5a
|
create a notification when an alias is disabled
|
2022-03-09 17:59:02 +01:00 |
|
Son
|
b6b917eba8
|
add more log
|
2022-03-08 18:35:18 +01:00 |
|
Son
|
b711743d6e
|
fix
|
2022-03-08 10:31:20 +01:00 |
|
Son
|
89218fab7f
|
fix "local variable 'alias_id' referenced before assignment"
|
2022-03-08 10:30:29 +01:00 |
|
Son
|
350f498b94
|
lessen alias automatic disable check
|
2022-03-07 15:50:58 +01:00 |
|
Son
|
99dc45e09a
|
refactor
|
2022-03-07 15:45:36 +01:00 |
|
Son
|
71136669e9
|
return the block reason in should_disable()
|
2022-03-07 15:44:27 +01:00 |
|
Son
|
6c8d4310e5
|
only set the X-SimpleLogin-Envelope-From header if user has this option enabled
|
2022-02-25 12:24:54 +01:00 |
|
Son Nguyen Kim
|
7d008228e3
|
Merge pull request #811 from cquintana92/feature/ignore-or-reject-for-blocked-contacts
Allow to configure ignore or reject response for blocked contacts
|
2022-02-21 15:55:48 +01:00 |
|
Carlos Quintana
|
ee9170bb17
|
Allow to configure ignore or reject response for blocked contacts
|
2022-02-21 12:52:21 +01:00 |
|
Adrià Casajús
|
33163660f7
|
PR comments
|
2022-02-21 12:30:26 +01:00 |
|
Adrià Casajús
|
b069f81920
|
Reply only once per user even if they send it from any mailbox
|
2022-02-17 14:33:04 +01:00 |
|
Adrià Casajús
|
1b525a55a5
|
Add debug message
|
2022-02-16 18:39:18 +01:00 |
|
Adrià Casajús
|
15ce7b00d8
|
Reply to noreply@... once per user
|
2022-02-16 18:38:31 +01:00 |
|
Son
|
78c14fa67e
|
create notification for bounce email during reply phase
|
2022-01-24 16:13:45 +01:00 |
|
Son
|
90fa4abf69
|
create a notification for a bounce email
|
2022-01-24 16:10:36 +01:00 |
|
Son
|
efdb0a60d3
|
no need to raise error if email processing takes more than 60s
|
2022-01-17 14:42:27 +01:00 |
|
Son
|
8ff3b5ef8e
|
ignore VERPForward error
|
2022-01-16 11:52:44 +01:00 |
|
Son
|
0e496518ba
|
handle case alias is deleted in handle_hotmail_complaint
|
2022-01-16 11:47:50 +01:00 |
|
Son
|
db24ed8739
|
remove unused import
|
2022-01-11 13:23:44 +01:00 |
|
Son
|
2a1ef7beec
|
notify user every time a reply can't be sent
|
2022-01-11 13:14:47 +01:00 |
|
Son
|
42a29eba90
|
remove \r or \n from headers before processing
|
2022-01-11 13:11:28 +01:00 |
|
Son
|
5e7ff7a694
|
fix logging
|
2022-01-11 12:29:42 +01:00 |
|
Son
|
9c696bd038
|
ignore VERPReply
|
2022-01-09 20:35:57 +01:00 |
|
Son
|
f855d27836
|
delete EmailLog if pgp issue
|
2022-01-08 16:59:32 +01:00 |
|
Son
|
c5e4dd6d16
|
save email for debug with error name as prefix
|
2022-01-08 16:58:23 +01:00 |
|
Son
|
4298fe73e6
|
use warning level
|
2022-01-08 00:43:49 +01:00 |
|
Son
|
862d0e7a11
|
warn users if SL is used with another forwarding service
|
2022-01-08 00:42:03 +01:00 |
|
Son
|
ed4acebdb1
|
delete the email log in reply phase if NonReverseAliasInReplyPhase
|
2022-01-08 00:28:26 +01:00 |
|
Son
|
b23f9fa971
|
delete email_log if CannotCreateContactForReverseAlias
|
2022-01-08 00:23:10 +01:00 |
|
Son
|
01ba5e8bf0
|
return 5** if CannotCreateContactForReverseAlias
|
2022-01-08 00:16:16 +01:00 |
|
Son
|
ed39d47e7a
|
log "Custom/nb_rcpt_tos" metric
|
2022-01-08 00:11:16 +01:00 |
|
Son
|
20b6ce29fc
|
take into account authorized_address when checking email loop
|
2022-01-08 00:09:45 +01:00 |
|
Son
|
d8627fea97
|
handle case when non reverse-alias is present in the reply phase
|
2022-01-07 17:53:06 +01:00 |
|
Son
|
2a1d735800
|
always ignore loop email
|
2022-01-07 16:22:35 +01:00 |
|
Son
|
fb87225d2d
|
raise error when receiving emails sent from reverse alias
|
2022-01-07 16:14:21 +01:00 |
|
Son
|
746dfae495
|
remove unused import
|
2022-01-07 15:47:54 +01:00 |
|
Son
|
d4e1aec875
|
refactor
|
2022-01-07 14:57:47 +01:00 |
|
Son
|
bf75f8e8ab
|
add more logging
|
2022-01-07 14:26:58 +01:00 |
|
Son
|
40b6fde2c3
|
log more
|
2022-01-07 13:02:16 +01:00 |
|
Son
|
12a7e9b3fa
|
refactor
|
2022-01-07 12:24:14 +01:00 |
|
Son
|
4fae291251
|
improve logging
|
2022-01-07 12:19:51 +01:00 |
|
Son
|
4c63b4c0f1
|
refactor
|
2022-01-07 12:18:46 +01:00 |
|
Son
|
5195c9de8b
|
raise error when a non reverse-alias is used during the reply phase
|
2022-01-07 10:34:08 +01:00 |
|
Son
|
035d238c75
|
do not delete DATE header
|
2022-01-07 10:22:46 +01:00 |
|
Son
|
db30639380
|
set Contact.automatic_created during the forward phase
|
2022-01-07 10:22:02 +01:00 |
|
Son
|
ad622df071
|
make sure a contact with website_email=reverse alias of another contact can't be created
|
2022-01-07 10:04:12 +01:00 |
|
Son
|
bb6aec8b80
|
fix out of office handling sent by contact
|
2022-01-06 19:34:17 +01:00 |
|
Son
|
723d871550
|
add more info to "cannot handle email sent to reply VERP" log
|
2022-01-06 19:23:13 +01:00 |
|
Son
|
e7c473c943
|
add more logging info
|
2022-01-06 14:36:10 +01:00 |
|
Son
|
0c25ed939f
|
fix logging
|
2022-01-05 17:43:11 +01:00 |
|
Son
|
778c90a164
|
tweak logging
|
2022-01-05 16:26:31 +01:00 |
|
Son
|
385dd1e755
|
handle out-of-office email in addition to bounce
|
2022-01-05 15:30:44 +01:00 |
|
Son
|
6c42872440
|
add is_bounce()
|
2022-01-05 15:22:22 +01:00 |
|
Son
|
ffc621596a
|
fix is_automatic_out_of_office: only use "Auto-Submitted" header
|
2022-01-05 15:21:54 +01:00 |
|
Son
|
0abfb82fd1
|
investigate emails sent to reverse alias from <>
|
2022-01-05 15:20:17 +01:00 |
|
Son
|
de23828df1
|
convert out-of-office email into normal email
|
2022-01-05 09:50:58 +01:00 |
|
Son
|
5e2ea81a6c
|
do not consider out-of-office as bounce
|
2022-01-04 18:06:08 +01:00 |
|
Son
|
b24d58bdf3
|
handle case alias was deleted in the meantime
|
2021-12-31 12:14:22 +01:00 |
|
Son
|
77f1544a1d
|
remove newrelic init from email handler
|
2021-12-30 14:15:49 +01:00 |
|
Son
|
c5185eddf3
|
Revert "log "Custom/smtp_connection_time" metric in newrelic"
This reverts commit 378bad6253 .
|
2021-12-30 11:55:48 +01:00 |
|
Son
|
378bad6253
|
log "Custom/smtp_connection_time" metric in newrelic
|
2021-12-30 11:46:01 +01:00 |
|
Son
|
c2e95f0853
|
reformat email_handler
|
2021-12-30 10:24:57 +01:00 |
|
Son
|
d80ecfb068
|
use error log if email processing takes more than 1 minute
|
2021-12-29 16:30:12 +01:00 |
|
Son
|
9e019ae98a
|
retry sending mail if TimeoutError
|
2021-12-29 15:17:57 +01:00 |
|
Son
|
d8f7323b95
|
remove unused import
|
2021-12-29 11:24:12 +01:00 |
|
Son
|
8530abfb2d
|
reduce log level for emails sent from a reverse alias
|
2021-12-29 11:18:54 +01:00 |
|
Son
|
f0e582c1a6
|
use postfix retry for SMTPServerDisconnected (in addition to SMTPRecipientsRefused) error
|
2021-12-23 19:34:17 +01:00 |
|
Son
|
879b364a47
|
return 421 to retry when SMTPRecipientsRefused error
|
2021-12-23 18:17:29 +01:00 |
|
Son
|
eeb24f594a
|
Add OLD_UNSUBSCRIBER and support it
|
2021-11-22 18:17:07 +01:00 |
|
Son
|
dc243d6027
|
improve logging
|
2021-11-22 11:23:21 +01:00 |
|
Son
|
77e38e63fe
|
handle hotmail complaint during reply phase
|
2021-11-21 11:31:28 +01:00 |
|
Son
|
fdfa286d3e
|
allow contact email to be case sensitive
|
2021-11-18 16:44:04 +01:00 |
|
Son
|
225a3ae750
|
handle Yahoo complaint for transactional email
|
2021-11-17 14:37:49 +01:00 |
|
Son
|
2b8de82028
|
handle hotmail complain for transactional email
|
2021-11-17 14:32:30 +01:00 |
|
Son
|
790f0ed23c
|
return 250 status when handling bounces
|
2021-11-13 11:21:19 +01:00 |
|
Son
|
4fc6619553
|
reduce Hotmail abuse report rate
|
2021-11-10 10:57:22 +01:00 |
|
Son
|
4c1c8a3dc1
|
fix msg[headers.MESSAGE_ID] can return str
|
2021-11-10 09:38:20 +01:00 |
|
Son
|
0e24513bcf
|
fix case where msg[headers.IN_REPLY_TO] can be non str
|
2021-11-08 11:21:01 +01:00 |
|
Son
|
4214efa497
|
handle the case original_message_id is None in replace_original_message_id
|
2021-11-05 09:43:58 +01:00 |
|
Son
|
80bbfb6f4b
|
Parse reverse alias first in handle_hotmail_complaint
|
2021-11-04 10:40:12 +01:00 |
|
Son
|
334dc01a1b
|
fix url
|
2021-11-03 10:11:52 +01:00 |
|
Son
|
4369137e25
|
block the sender via one click unsubscribe
|
2021-11-02 15:44:43 +01:00 |
|
Son
|
b50f1d60b2
|
refactor: create headers constants for List-Unsubscribe
|
2021-11-02 14:36:37 +01:00 |
|
Son
|
52a19818b7
|
save email whose bounce info can't be parsed for debugging
|
2021-11-02 14:32:16 +01:00 |
|
Son
|
4a5983993e
|
rename file
|
2021-11-02 11:46:41 +01:00 |
|
Son
|
cb0d992ecc
|
rename file
|
2021-11-02 11:37:46 +01:00 |
|
Son Nguyen Kim
|
10be304865
|
Merge pull request #668 from szepeviktor/patch-2
Remove unused import
|
2021-11-02 11:02:05 +01:00 |
|
Son
|
f95428a5cc
|
do not delete email log when email can't be sent to a contact
|
2021-11-02 10:59:17 +01:00 |
|
Son
|
542310f5ca
|
refactor: rename file
|
2021-11-02 10:58:51 +01:00 |
|
Viktor Szépe
|
271ddb82f2
|
Remove unused import
|
2021-11-02 05:39:06 +01:00 |
|
Son
|
6b33e66016
|
handle the case another matching with original_message_id was created in the mean time
|
2021-11-01 20:39:53 +01:00 |
|
Son
|
5b5bbcc83c
|
refactor: extract replace_sl_message_id_by_original_message_id
|
2021-11-01 18:45:10 +01:00 |
|
Son
|
2546fefa51
|
handle message-id replacement for case a reply is sent to multiple recipients
|
2021-11-01 18:43:19 +01:00 |
|
Son
|
603e98d0bf
|
remove unnecessary check
|
2021-11-01 17:58:39 +01:00 |
|
Son
|
cf8150b996
|
handle case original_message_id can be None
|
2021-10-28 18:41:36 +02:00 |
|
Son
|
5f6ad21e85
|
improve bounce email notification
|
2021-10-28 11:43:44 +02:00 |
|
Son
|
a4dbbb6ac2
|
if contact is blocked, do not forward email
|
2021-10-28 10:19:58 +02:00 |
|
Son
|
7c182d20a4
|
try parsing the alias from the from header which might contain the reverse alias when handling hotmail complaint
|
2021-10-26 12:16:57 +02:00 |
|
Son
|
a99ac24b72
|
cron, init app, job runner: wrap in an app context to benefit from app setup like database cleanup, sentry integration, etc
|
2021-10-26 10:52:28 +02:00 |
|
Son
|
8680c0a739
|
do do not use the ra+ prefix for reverse alias
|
2021-10-25 14:33:42 +02:00 |
|
Son
|
de0f838950
|
ignore hotmail bounce that uses 'Undisclosed recipients:;' in :To header
|
2021-10-25 10:36:50 +02:00 |
|
Son
|
be7ae3021a
|
rename is_reply_email -> is_reverse_alias, make sure reverse-alias must end with EMAIL_DOMAIN
|
2021-10-19 12:14:16 +02:00 |
|
Son
|
c5987bcfbb
|
Log message_id
|
2021-10-19 12:05:41 +02:00 |
|
Son
|
a2fcfbbb20
|
use as_bytes().decode() instead of as_string() in bounce_info
|
2021-10-19 12:05:35 +02:00 |
|
Son
|
7952ce7ecf
|
sanity check to make sure the message id hasn't been added before
|
2021-10-19 11:58:05 +02:00 |
|
Son
|
c12f3b3e7a
|
Use SL message ID during reply phase. Exchange original SL and original message-id during the forward and reply phase to keep email thread.
|
2021-10-18 17:35:16 +02:00 |
|
Son
|
9c653dbacd
|
no need to fill up message-id header: it seems always filled
|
2021-10-18 17:34:11 +02:00 |
|
Son
|
d18bb28ca9
|
add more log to investigate "Cannot parse Postfix queue ID" error
|
2021-10-15 10:37:22 +02:00 |
|
Son
|
72931aa9b7
|
fill up Bounce.info
|
2021-10-14 15:46:52 +02:00 |
|
Son
|
68cf54b2d9
|
Revert "use async in email handler"
This reverts commit 4d7cd09847 .
|
2021-10-13 10:27:59 +02:00 |
|
Son
|
0ec4a3971c
|
Revert "sleep for 60s when rate limit is hit for the first time"
This reverts commit 2524c8ab98 .
|
2021-10-13 10:27:54 +02:00 |
|
Son
|
becf789d5e
|
Revert "add more logging"
This reverts commit 94a9a1479b .
|
2021-10-13 10:27:46 +02:00 |
|
Son
|
94a9a1479b
|
add more logging
|
2021-10-13 10:18:46 +02:00 |
|
Son
|
c132e3fbbc
|
flake8
|
2021-10-12 15:03:16 +02:00 |
|
Son
|
2524c8ab98
|
sleep for 60s when rate limit is hit for the first time
|
2021-10-12 14:53:30 +02:00 |
|
Son
|
4d7cd09847
|
use async in email handler
|
2021-10-12 14:48:33 +02:00 |
|
Son
|
eb0e327402
|
remove "with app.app_context():"
|
2021-10-12 14:47:01 +02:00 |
|
Son
|
372466ab06
|
do not use flask-sqlalchemy
- add __tablename__ for all models
- use sa and orm instead of db
- rollback all changes in tests
- remove session in @app.teardown_appcontext
|
2021-10-12 14:36:47 +02:00 |
|
Son
|
ee0ed7d9ec
|
refactor: use headers.py
|
2021-10-11 12:21:14 +02:00 |
|
Son
|
d6fc132df1
|
do not replace message-id in reply phase
|
2021-10-11 12:13:24 +02:00 |
|
Son
|
5821294ae9
|
refactor: use headers.py
|
2021-10-11 12:10:18 +02:00 |
|
Son
|
9bb83fe3e2
|
fix email thread: do not delete original message id
|
2021-10-11 12:00:37 +02:00 |
|
Son Nguyen Kim
|
339d611e63
|
remove Contact.from_header column
|
2021-09-27 12:19:33 +02:00 |
|
Son Nguyen Kim
|
3ad961bfb9
|
ignore contact name that has hex ascii code \x00
|
2021-09-27 10:21:49 +02:00 |
|
Son Nguyen Kim
|
51a7dbfa52
|
Revert "not dkim sign"
This reverts commit b14534db2c .
|
2021-09-25 18:47:15 +02:00 |
|
Son Nguyen Kim
|
b14534db2c
|
not dkim sign
|
2021-09-23 19:32:06 +02:00 |
|
Son Nguyen Kim
|
7f5201effa
|
handle ValueError raised by parse_full_address
|
2021-09-22 16:39:31 +02:00 |
|
Son Nguyen Kim
|
3b16e502b3
|
add debug info when an email is sent from reverse-alias
|
2021-09-22 09:58:40 +02:00 |
|
Son Nguyen Kim
|
16dd35470f
|
add more debug info
|
2021-09-21 14:20:46 +02:00 |
|
Son Nguyen Kim
|
ba3074b94a
|
use warning instead of error
|
2021-09-20 16:59:27 +02:00 |
|
Son Nguyen Kim
|
f6fd97ef05
|
log total number of email log for an alias when it is rate limited
|
2021-09-20 13:54:29 +02:00 |
|
Son Nguyen Kim
|
17c13ee37f
|
ignore smtp error in handle_bounce_forward_phase()
|
2021-09-20 13:51:16 +02:00 |
|
Son Nguyen Kim
|
7bb54e1e8e
|
add "Custom/number_incoming_email" in newrelic
|
2021-09-20 09:48:06 +02:00 |
|
Son Nguyen Kim
|
144418ae47
|
use debug level when postfix queue id can't be parsed
|
2021-09-15 09:28:27 +02:00 |
|
Son Nguyen Kim
|
e4ed192cce
|
rename
|
2021-09-13 19:50:15 +02:00 |
|
Son Nguyen Kim
|
106358da5f
|
handle yahoo complaint
|
2021-09-13 19:49:40 +02:00 |
|
Son Nguyen Kim
|
b3012376c3
|
use another DKIM header if one fails
|
2021-09-13 16:04:32 +02:00 |
|
Son Nguyen Kim
|
6e42e536db
|
ignore email sent from a mailbox to its alias if user.ignore_loop_email
|
2021-09-10 18:15:22 +02:00 |
|
Son Nguyen Kim
|
f53e8c1af8
|
refactor
|
2021-09-10 17:48:36 +02:00 |
|
Son Nguyen Kim
|
61d9f7ee43
|
refactor
|
2021-09-10 17:31:29 +02:00 |
|
Son Nguyen Kim
|
638e8137ec
|
fix test
|
2021-09-10 17:10:05 +02:00 |
|
Son Nguyen Kim
|
3ad4b6b76f
|
use flanker instead of parseaddr_unicode
|
2021-09-10 17:06:38 +02:00 |
|
Son Nguyen Kim
|
500ff00c7c
|
use flanker to parse To:, CC: header in replace_header_when_forward()
|
2021-09-10 16:51:36 +02:00 |
|
Son Nguyen Kim
|
6e9dfdd6f1
|
if the complaint cannot be handled, forward it normally
|
2021-09-09 18:55:29 +02:00 |
|
Son Nguyen Kim
|
493a5daa45
|
use warning level
|
2021-09-08 18:25:40 +02:00 |
|
Son Nguyen Kim
|
ff2cbeb3af
|
handle case to header isn't present
|
2021-09-08 15:49:47 +02:00 |
|