Son NK
|
53e57eee42
|
clone orig message in prepare_pgp_message
|
2020-11-01 18:06:05 +01:00 |
|
Son NK
|
7ca74eaa6f
|
replace-reverse-alias and pgp encryption before modifying message header in reply phase
|
2020-11-01 18:02:43 +01:00 |
|
Son NK
|
0307793666
|
use pgpy as fallback for gpg
|
2020-10-28 17:07:53 +01:00 |
|
Son NK
|
5a190ed840
|
use pgpy if python-gnupg fails
|
2020-10-28 12:21:24 +01:00 |
|
Son NK
|
9210459a72
|
add pgpy
- add pgpy to poetry
- add test PGP keys to local_data
- add encrypt_file_with_pgpy()
- use randomly pgpy
|
2020-10-28 11:50:14 +01:00 |
|
Son NK
|
aa1cac521b
|
Set X-SimpleLogin-Envelope-From header in forward phase
|
2020-10-27 11:03:56 +01:00 |
|
Son NK
|
8f6550f992
|
update contact.mail_from and contact.from_header if needed
|
2020-10-27 10:40:54 +01:00 |
|
Son NK
|
4a7b73a218
|
use warning log for disabled account
|
2020-10-26 10:33:53 +01:00 |
|
Son NK
|
bdec727cd1
|
allow mailbox's authorized address to unsubscribe alias
|
2020-10-23 13:29:20 +02:00 |
|
Son NK
|
bfa59dcdd9
|
fix
|
2020-10-22 12:26:45 +02:00 |
|
Son NK
|
ea45ac119e
|
Refactor: create Alias.unsubscribe_link
|
2020-10-22 10:37:02 +02:00 |
|
Son NK
|
f624085aa3
|
handle newsletter unsubscribe when the subject=user_id*
|
2020-10-22 10:34:52 +02:00 |
|
Son NK
|
1fcf166c00
|
small refactor: add should_add_dkim_signature
|
2020-10-15 16:24:04 +02:00 |
|
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 |
|