Commit Graph

195 Commits

Author SHA1 Message Date
Son NK ce3dae2a07 inform user when an alias can't be created when a directory is disabled 2020-12-07 10:55:13 +01:00
Son NK 37a74bc093 refactor: rename 2020-12-07 10:50:42 +01:00
Renaud Boyer 5d948faf56 black 2020-12-06 22:11:58 +01:00
Son NK ce2d68a64d take into account include_sender_in_reverse_alias when creating reverse-alias 2020-12-06 19:37:20 +01:00
Renaud Boyer 4bcc0d107f linting 2020-12-06 18:01:55 +01:00
Son NK 83df119178 do not replace for "application/*" 2020-12-04 11:33:49 +01:00
Son NK 59daaa3164 ignore multipart/signed when replacing message 2020-12-03 17:52:11 +01:00
Son NK cd680bcd7f ignore content type like image/, video/, audio/ in replace() 2020-12-01 18:34:38 +01:00
Son NK 652bb6a369 take into account multipart/mixed in replace() 2020-11-30 19:45:45 +01:00
Son NK cefa68d392 Create replace() in email_utils 2020-11-30 15:15:13 +01:00
Son NK 0b95ca33b8 use no encoding for 8bit and binary 2020-11-30 10:49:04 +01:00
Son NK f804332c2d refactor: create EmailEncoding enum 2020-11-30 10:48:16 +01:00
Son NK d61f45ea86 use 7bit as default encoding 2020-11-26 17:22:17 +01:00
Son NK 1241838b26 take into account message encoding in add_header() 2020-11-26 17:03:50 +01:00
Son NK e2a7061429 add get_encoding() and encode_text() 2020-11-26 17:01:05 +01:00
Son NK bcdf522174 create normalize_reply_email(): handle case where reply email contains space, quote, etc 2020-11-22 13:07:09 +01:00
Son NK f069d2f083 use getaddresses to parse multiple address from To, CC header. Remove get_addrs_from_header() 2020-11-21 19:15:02 +01:00
Son NK c25a5b50f6 make sure reply_email only contain lowercase 2020-11-20 10:03:40 +01:00
Son NK 75c3fa1c11 make sure reply-email only uses ascii-encoded char 2020-11-18 15:36:39 +01:00
Son NK 9ca129cb97 use warning level for cannot decode error 2020-11-18 11:43:25 +01:00
Son NK 319078fceb use contact email when generating reply-email 2020-11-18 10:24:39 +01:00
Son NK 0963049d1f use utf-8 when unknown charset in parseaddr_unicode() 2020-11-18 10:03:58 +01:00
Son NK 28d42a7a22 Use get_header_unicode() in get_addrs_from_header() 2020-11-18 10:03:00 +01:00
Son NK be510ea1d7 use utf-8 if unknown charset in get_header_unicode() 2020-11-18 10:02:10 +01:00
Son NK 9154b4656d refactor: create is_reply_email() 2020-11-16 19:22:19 +01:00
Son NK 75ba1669e0 Create generate_reply_email() and refactor 2020-11-16 19:15:09 +01:00
Son NK f16676e921 email.message_from_string can also throw LookupError when non-existent charset is set 2020-11-13 18:08:56 +01:00
Son NK 4e16eb7403 fix 2020-11-10 17:42:23 +01:00
Son NK 4666d21f63 email.message_from_string can also throw KeyError when 'content-transfer-encoding' is absent 2020-11-10 17:26:24 +01:00
Son NK 632a5bbbc8 handle UnicodeEncodeError in copy() and to_bytes() 2020-11-10 16:02:19 +01:00
Son NK c3f73b25b2 decode the subject 2020-11-09 21:16:50 +01:00
Son NK b2f9479bce failover when ascii encoding fails 2020-11-09 20:58:39 +01:00
Son NK 2cc7cb6a37 use to_bytes instead of .as_bytes() 2020-11-09 17:02:10 +01:00
Son NK 3f8e5d0a8b add more logging 2020-11-08 22:39:49 +01:00
Son NK e659680875 add_header() 2020-11-07 13:00:12 +01:00
Son NK 72a34e28be add is_valid_email() 2020-11-03 11:09:37 +01:00
Son NK 677f150fef add unsubscribe header to com emails 2020-10-22 10:44:05 +02:00
Son NK 4a32db5b5d rename PublicDomain -> SLDomain 2020-10-15 16:51:07 +02:00
Son NK 0a4fc76b61 optimize import 2020-10-15 16:45:28 +02:00
Son NK adff510359 use PublicDomain instead if ALIAS_DOMAINS 2020-10-15 16:45:08 +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 8517e7d356 refactor com emails: remove non-uses, move to the right location 2020-09-30 11:51:43 +02:00
Son NK 4b697fc897 parseaddr_unicode: handle case where name is bytes 2020-09-16 17:34:33 +02:00
Son NK 03dfafe1cf handle linebreak in parseaddr_unicode 2020-09-16 17:28:01 +02:00
Son NK 40892f8253 contact email can contain whitespace 2020-09-14 18:21:30 +02:00
Son NK c6eba9f125 improve welcome email 2020-09-12 14:34:32 +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 ffc59a6fad Add check_custom_domain cronjob 2020-08-29 19:05:32 +02:00
Son NK 37a53757eb add send_email_at_most_times 2020-08-27 10:43:30 +02:00
Son NK fdedc24358 black new version 2020-08-27 10:20:48 +02:00
Son NK cd687664d1 fix email template 2020-08-25 13:03:34 +02:00
Son Nguyen Kim 637bc569eb
Merge pull request #260 from FabioWidmer/improvements-1
Improvements for Self Hosting & More
2020-08-24 20:16:59 +02:00
Son NK 17c7303fb5 add get_header_from_bounce() 2020-08-24 10:17:22 +02:00
Son NK dc8c2f403e try to fix Message.as_bytes() by trying different policies 2020-08-21 12:01:11 +02:00
Fabio Widmer fbb17b1f57
Fix email_utils.py formatting 2020-08-14 16:50:59 +02:00
Fabio Widmer 9fa9dbe821
Fix email_utils.py formatting 2020-08-14 16:30:43 +02:00
Fabio Widmer 9226492f83
More self hosting improvements 2020-08-14 16:23:29 +02:00
Son NK 38a6bcc461 add warning log 2020-07-23 11:32:11 +02:00
Son NK d89e41d0e5 use user.max_spam_score if present 2020-07-23 11:11:43 +02:00
Son NK 4906d3a4a8 add more logging in email_domain_can_be_used_as_mailbox 2020-06-14 12:00:02 +02:00
Son NK 5705842415 add email_utils.copy() 2020-06-12 00:02:07 +02:00
Son NK d0c65ea378 send transactional email from SENDER if set 2020-06-10 13:55:47 +02:00
Son NK b47d95226d generate html from plaintext if not set 2020-06-10 12:18:39 +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 da7b46ef97 remove bounced_email param from send_email 2020-06-10 12:15:57 +02:00
Son NK b356ea1b28 force convert header to string, sometimes addrs is Header object 2020-06-01 21:14:23 +02:00
Son NK a512fbc6e5 use POSTFIX_PORT instead of 25 if it's set 2020-05-21 20:43:12 +02:00
Son NK 6cc8dd548c use warning level for "emails were sent to in the last 24h" error 2020-05-21 20:07:04 +02:00
Son NK 2978bfb281 Fix user cannot change personal email back and better naming.
Happens when user
- changes their personal email
- wants to change back: they can't as this email is already used as mailbox
2020-05-15 23:18:30 +02:00
Son NK 3a1af9f424 fall back for UnicodeDecodeError 2020-05-14 13:27:04 +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 ac6d1c1106 able to set nb max alert in send_email_with_rate_control 2020-05-10 10:34:39 +02:00
Son NK d9f1fb9130 Create send_email_with_rate_control(): same as send_email() but with rate control 2020-05-09 20:43:17 +02:00
Son NK c85ea1538e Allow the same mailbox used by different user 2020-05-07 21:47:11 +02:00
Son NK 16de59a9f5 mailbox can be other user's email 2020-05-06 12:34:52 +02:00
Son NK 6acbf2f8dc do not accept email without MX record 2020-04-27 23:08:34 +02:00
Son NK acacab887e Check MX record of email domain to see if it is disposed 2020-04-27 18:17:50 +02:00
Son NK cf016caa91 Refuse disposable emails in can_be_used_as_personal_email() 2020-04-16 09:43:14 +02:00
Son NK a548c84694 Make MAX_NB_EMAIL_FREE_PLAN available in all email templates 2020-04-08 23:06:56 +02:00
Son NK afceabeef5 add Contact.new_addr() 2020-04-05 15:21:04 +02:00
Son NK c686767d4d Fix parseaddr_unicode: take into account email only case 2020-04-05 12:56:17 +02:00
Son NK 6c68b3cda7 Fix website_send_to: prefer using name instead of website_from 2020-04-05 12:48:59 +02:00
Son NK 5fff1e86ce Add parseaddr_unicode() 2020-04-05 12:07:40 +02:00
Son NK 55190ff358 use msg.as_bytes() instead of msg.as_string().encode() 2020-04-02 21:30:36 +02:00
Son NK 9500cc6cee Take into account spamassassin spam report 2020-03-30 22:05:31 +02:00
Son NK 7f49312255 use user preferred sender format 2020-03-28 22:37:00 +01:00
Son NK aa3a13c3ca Replace To or CC header when forward/reply 2020-03-28 19:16:55 +01:00
Son NK 4f281bdbbb rename GenEmail -> Alias, gen_email to alias whenever possible 2020-03-17 11:51:40 +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 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 fac833b8e6 support the case user wants to re-add their real email as mailbox 2020-03-08 10:05:13 +01:00
Son NK b15eeb10c5 If POSTFIX_SUBMISSION_TLS, use port 587 2020-03-03 10:49:27 +01:00
Son NK 6615631b4e improve logging 2020-02-23 14:38:53 +07:00
Son NK 85eca009ac send_email accepts bounced_email (optional) param 2020-02-22 20:39:45 +07:00
Son NK fc09f911a4 refactor email-handler: extract try_auto_create() 2020-02-19 22:15:27 +07:00
Son NK 7598a167d0 Improve emails that inform unauthorized user 2020-02-11 22:58:30 +07:00