Commit Graph

1905 Commits

Author SHA1 Message Date
Son NK
95f3db6aa5 remove available_suffixes() 2020-12-31 14:26:07 +01:00
Son NK
5a3b79b4cf replace available_suffixes by available_suffixes_more_info 2020-12-31 14:25:44 +01:00
Son NK
7915a2abb9 Fix available_suffixes_more_info 2020-12-31 14:18:49 +01:00
Son NK
abb3ec1f05 rename 2020-12-31 14:16:32 +01:00
Son NK
4e20ffcc60 update wording: use custom alias to be opposed to random alias 2020-12-31 14:15:25 +01:00
Son NK
75d1b090cd rename default_random_alias_public_domain_id -> default_alias_public_domain_id 2020-12-31 14:14:56 +01:00
Son NK
e0a414212e rename default_random_alias_domain_id -> default_alias_custom_domain_id 2020-12-31 14:06:32 +01:00
Son NK
1647a7a628 update settings wording 2020-12-31 14:00:21 +01:00
Son NK
b9d8f11f2d put the default domain to top 2020-12-31 13:59:03 +01:00
Son NK
66e7aa7242 refactor 2020-12-31 12:50:04 +01:00
Son NK
0585ba97ee use warning level for "Cannot encrypt using the imported key" error 2020-12-31 11:05:11 +01:00
Son NK
74a63db835 ignore "text/directory" in replace() 2020-12-30 09:48:58 +01:00
Son NK
0df4d1a93d add more logging 2020-12-29 12:17:24 +01:00
Son NK
31774f9ea7 set include_sender_in_reverse_alias to False by default 2020-12-28 10:28:05 +01:00
Son NK
be57add431 add list of cryptocurrency that are supported 2020-12-19 17:22:04 +01:00
Son NK
9f9d292754 remove can_use_coinbase column 2020-12-19 16:31:16 +01:00
Son NK
3015cd1dc0 ignore "text/calendar" content type 2020-12-18 16:07:32 +01:00
Son NK
6cec373b6d ignore UnicodeDecodeError in decode_text() 2020-12-18 13:10:33 +01:00
Son NK
fb8a43fd5d use decode_text() in add_header() 2020-12-18 10:44:42 +01:00
Son NK
091ff3ad2c Add decode_text() 2020-12-18 10:43:06 +01:00
Son NK
3a8cdce650 Create should_disable 2020-12-16 18:50:09 +01:00
Son NK
830331d9b3 improve wording 2020-12-14 11:52:35 +01:00
Son NK
b9dba9c2c3 improve wording 2020-12-14 11:48:08 +01:00
Son NK
3dd8ed7840 Create /dashboard/coinbase_checkout, remove extend_subscription route 2020-12-14 11:34:59 +01:00
Son NK
f19a7e1bca Add COINBASE_API_KEY and COINBASE_YEARLY_PRICE config 2020-12-14 11:33:39 +01:00
Son NK
369c9dafce remove duplicated 2020-12-13 19:56:17 +01:00
Son NK
530160567b fix coinbase button not displayed on pricing page 2020-12-13 19:51:00 +01:00
Son NK
1348b58672 only show coinbase option for user who has can_use_coinbase=True 2020-12-13 19:28:46 +01:00
Son NK
1961d2f18e Add User.can_use_coinbase column 2020-12-13 19:28:13 +01:00
Son NK
fbe48b7b3e add extend subscription link on settings page 2020-12-13 19:14:54 +01:00
Son NK
6c21b83975 add coinbase option on pricing page 2020-12-13 19:14:11 +01:00
Son NK
436e31229f Create extend_subscription page 2020-12-13 19:13:26 +01:00
Son NK
0542adb761 Add COINBASE_WEBHOOK_SECRET, COINBASE_CHECKOUT_ID config 2020-12-13 19:11:49 +01:00
Son NK
02c74e6a5a take into account Coinbase in can_upgrade(), is_paid(), _lifetime_or_active_subscription() 2020-12-13 19:08:06 +01:00
Son NK
9329cf04ad Create CoinbaseSubscription model 2020-12-13 19:05:43 +01:00
Son NK
8527fed69e pricing page: improve wording 2020-12-13 17:04:05 +01:00
Son Nguyen Kim
bf139f83b3
Merge pull request #342 from herrboyer/linting
Linting
2020-12-07 17:45:50 +01:00
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
Son NK
4fb7b7bd2c user can change directory disabled 2020-12-07 10:49:40 +01:00
Son NK
05d4ec1c2f Add directory.disabled column 2020-12-07 10:48:43 +01:00
Son NK
a40bbe74fe show include_sender_in_reverse_alias as checked if user hasn't set any value 2020-12-07 10:23:36 +01:00
Renaud Boyer
5d948faf56 black 2020-12-06 22:11:58 +01:00
Renaud Boyer
f2f13958c7 linting 2020-12-06 22:11:22 +01:00
Renaud Boyer
a2f3aeeece linting 2020-12-06 22:10:42 +01:00
Renaud Boyer
2b9cb44cdb linting 2020-12-06 22:10:16 +01:00
Renaud Boyer
c09b6ef675 linting 2020-12-06 22:08:35 +01:00
Renaud Boyer
1c73f07d18 linting 2020-12-06 22:08:05 +01:00
Renaud Boyer
a8d67f94e2 linting 2020-12-06 22:07:18 +01:00
Renaud Boyer
f3303ee6bb linting 2020-12-06 22:06:03 +01:00
Renaud Boyer
4e93e511ec linting 2020-12-06 22:05:13 +01:00
Renaud Boyer
f1fb0ebe1f linting 2020-12-06 22:04:21 +01:00
Renaud Boyer
b7e6270a18 linting 2020-12-06 22:03:47 +01:00
Renaud Boyer
a45b6df78c linting 2020-12-06 22:03:06 +01:00
Renaud Boyer
479a9d1a35 linting 2020-12-06 22:02:18 +01:00
Renaud Boyer
47b1398cad linting 2020-12-06 22:01:43 +01:00
Renaud Boyer
4bf22771af linting 2020-12-06 22:01:38 +01:00
Renaud Boyer
43d9dbc1fc linting 2020-12-06 22:00:01 +01:00
Son NK
b0e39949cb fix embed video on mobile view 2020-12-06 19:39:12 +01:00
Son NK
fec281b84f Add include_sender_in_reverse_alias on Setting page 2020-12-06 19:38:37 +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
Son NK
eab09d8c32 Add User.include_sender_in_reverse_alias column. Null for existing user, False for new user. 2020-12-06 19:36:39 +01:00
Renaud Boyer
7bac9e82b9 linting 2020-12-06 18:04:29 +01:00
Renaud Boyer
7e1a474875 linting 2020-12-06 18:02:47 +01:00
Renaud Boyer
1ced8f76b7 linting 2020-12-06 18:02:23 +01:00
Renaud Boyer
4bcc0d107f linting 2020-12-06 18:01:55 +01:00
Renaud Boyer
fad64ff064 linting 2020-12-06 18:00:41 +01:00
Renaud Boyer
fefbaeb143 linting 2020-12-06 18:00:06 +01:00
Renaud Boyer
1e5185b328 linting 2020-12-06 17:59:07 +01:00
Renaud Boyer
bcdb4c08d9 linting 2020-12-06 17:58:56 +01:00
Renaud Boyer
a46a03be85 linting 2020-12-06 17:57:10 +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
255a7e085a add index on user_id, mailbox_id, ... if possible 2020-12-02 17:33:03 +01:00
Son NK
81f9f9f41b optimize get_stats(): use session.query instead of EmailLog.query 2020-12-02 17:30:56 +01:00
Son NK
450b101e6e add /live endpoint 2020-12-02 16:34:28 +01:00
Son NK
66abbf2614 make sure to remove \n from alias name 2020-12-02 12:25:23 +01:00
Son NK
8551dade7c hide replace reverse alias option 2020-12-01 18:36:24 +01:00
Son NK
cd680bcd7f ignore content type like image/, video/, audio/ in replace() 2020-12-01 18:34:38 +01:00
Son NK
2107bd4b08 remove Black Friday promo 2020-12-01 10:07:53 +01:00
Son NK
652bb6a369 take into account multipart/mixed in replace() 2020-11-30 19:45:45 +01:00
Son NK
692c81ac2a add warning about Gmail issue if reverse-alias replacement option 2020-11-30 19:16:10 +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
86636b2eb7 fix delete user profile picture 2020-11-27 16:36:21 +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
d35faf7154 comment out paddle issue annoucement 2020-11-26 10:39:44 +01:00
Son NK
adfbfe8026 Use load_public_key_and_check when adding new PGP key 2020-11-26 10:27:32 +01:00
Son NK
5b9eb8686a add id to mailbox repr 2020-11-26 10:08:09 +01:00
Son NK
03383eb181 display Paddle issue as announcement on pricing page 2020-11-25 17:43:02 +01:00
Son NK
ca625e60d5 fix add pgp 2020-11-25 17:29:54 +01:00
Son NK
bb8c9451c4 catch all exception in load_public_key() 2020-11-25 14:31:14 +01:00
Son NK
4381314f6f preload email_log.mailbox 2020-11-24 21:51:25 +01:00
Son NK
297857a140 Remove _MAILBOX_ID_HEADER 2020-11-24 16:50:55 +01:00
Son NK
6b07be5677 add email_log.mailbox_id column 2020-11-24 16:35:16 +01:00
Son NK
bcb2657de3 add remove button on custom domain name 2020-11-24 12:02:47 +01:00
Son NK
3d75ef974a user can turn on/off pgp on mailbox that has valid pgp_finger_print 2020-11-24 11:22:41 +01:00
Son NK
cbbb472d06 refactor 2020-11-24 11:22:41 +01:00
Son NK
c707342695 Use pgp_enabled() instead of pgp_finger_print 2020-11-24 11:22:41 +01:00
Son NK
5997e5b5b5 add Mailbox.disable_pgp column 2020-11-24 11:22:41 +01:00
Son NK
33e6342a9c use warning log when user uses premium domain 2020-11-23 10:43:50 +01:00
Son NK
836b602316 fix 2020-11-22 13:50:57 +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
a1d5b01143 make sure mailbox email is valid 2020-11-22 12:18:31 +01:00
Son NK
fbf242f6c6 handle new name can be null 2020-11-22 12:10:19 +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
8aed5ced3f make sure a custom domain name does not contain a linebreak 2020-11-20 18:40:07 +01:00
Son NK
78ddf16c87 make sure alias name does not contain a linebreak 2020-11-20 18:39:23 +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
ed22701cbe fix duplicate pinned alias in get_alias_infos_with_pagination_v3 2020-11-18 12:08:36 +01:00
Son NK
9ca129cb97 use warning level for cannot decode error 2020-11-18 11:43:25 +01:00
Son NK
5b9dc88c67 make sure alias prefix cannot be more than 40 chars 2020-11-18 10:38:35 +01:00
Son NK
0224e5f8a6 Fix SpamAssassin: init all class fields 2020-11-18 10:28:32 +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
6ed6218895 black 2020-11-17 09:27:45 +01:00
Son NK
145fc9c67c Add reverse_alias_address to GET /api/aliases/:alias_id/activities 2020-11-17 09:27:30 +01:00
Son NK
aada12f17e return reverse_alias_address in POST /api/aliases/:alias_id/contacts and GET /api/aliases/:alias_id/contacts 2020-11-16 19:39:00 +01:00
Son NK
9154b4656d refactor: create is_reply_email() 2020-11-16 19:22:19 +01:00
Son NK
3d153f5203 make sure user can't choose "ra" as directory name 2020-11-16 19:18:33 +01:00
Son NK
1926408a13 Add dns_utils.get_ns() 2020-11-16 19:16:06 +01:00
Son NK
75ba1669e0 Create generate_reply_email() and refactor 2020-11-16 19:15:09 +01:00
Son NK
15a6d9630a Handle sender_format in PATCH /api/setting 2020-11-15 19:43:37 +01:00
Son NK
c794e73abd Add EnumE.has_name(), EnumE.get_value() 2020-11-15 19:43:01 +01:00
Son NK
f0f81930bc Return "sender_format" in GET /api/setting 2020-11-15 19:35:07 +01:00
Son NK
d8c9078708 Add EnumE.get_name() 2020-11-15 19:34:00 +01:00
Son NK
aee917a3ef Add GET /api/custom_domains/:custom_domain_id/trash 2020-11-15 19:24:54 +01:00
Son NK
de495b9afe return nb_alias in GET /api/custom_domains 2020-11-15 19:13:00 +01:00
Son NK
9d24b1b88a GET /api/custom_domains 2020-11-15 19:09:25 +01:00
Son NK
f6568aca6a Return pinned in GET /api/aliases/:alias_id, GET /api/v2/aliases 2020-11-15 19:01:11 +01:00
Son NK
f500a495b7 User can pin an alias 2020-11-15 18:46:43 +01:00
Son NK
ae05c164c9 Support pinned in PATCH /api/aliases/:alias_id 2020-11-15 18:46:27 +01:00
Son NK
6c7018dd33 Take into account pinned alias in get_alias_infos_with_pagination_v3 2020-11-15 18:42:29 +01:00
Son NK
abf50e302b Add Alias.pinned column 2020-11-15 18:38:07 +01:00
Son NK
08902bf784 small style refactor 2020-11-15 18:31:10 +01:00
Son NK
9cfb6d412a Add /api/v5/alias/options 2020-11-14 16:45:22 +01:00
Son NK
f452c79aec Add /v2/setting/domains 2020-11-14 16:37:36 +01:00
Son NK
f62c568dd0 Add Contact.invalid_email column 2020-11-14 15:54:06 +01:00
Son NK
3489e41fdb Add NOREPLY setting 2020-11-14 15:53:20 +01:00
Son NK
2c46d1db8e Add PGP_SIGNER and display if it's set 2020-11-14 13:00:14 +01:00
Son NK
a072d6c0cd only report the paddle error if it's not 147 2020-11-14 12:55:53 +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
b4e5e3eecb user can choose a referral code 2020-11-13 16:18:09 +01:00
Son NK
25de8001e2 fix circular import 2020-11-12 17:56:03 +01:00
Son NK
1c061ceb59 Schedule domain deletion instead of deleting it immediately 2020-11-12 17:41:47 +01:00
Son NK
ec4d879836 change promotion to 1st year only 2020-11-10 22:37:58 +01:00
Son NK
5570300699 use 2 random words when creating random alias 2020-11-10 18:52:31 +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
44c3ac1741 Replace 2.99 by 3, 29.99 by 30 2020-11-09 17:56:26 +01:00
Son NK
a35256d161 fix paddle 2020-11-09 17:34:58 +01:00
Son NK
2cc7cb6a37 use to_bytes instead of .as_bytes() 2020-11-09 17:02:10 +01:00
Son NK
15466903d1 Support OTHER_PADDLE_MONTHLY_PRODUCT_IDS, OTHER_PADDLE_YEARLY_PRODUCT_IDS config 2020-11-09 16:56:17 +01:00
Son NK
3f8e5d0a8b add more logging 2020-11-08 22:39:49 +01:00
Son NK
a9297078d3 fix dkim clipboard 2020-11-08 22:39:38 +01:00
Son NK
76389647bb add black friday coupon code 2020-11-08 16:31:24 +01:00
Son NK
4be182320e black 2020-11-07 13:00:58 +01:00
Son NK
e659680875 add_header() 2020-11-07 13:00:12 +01:00
Son NK
f57f29a97b Able to set a generic subject for PGP-enabled mailbox 2020-11-07 12:58:51 +01:00
Son NK
7cc57106de Add Mailbox.generic_subject column 2020-11-07 12:48:44 +01:00
Son NK
6c626520d3 handle_bounce_reply_phase 2020-11-04 12:32:15 +01:00
Son NK
f4f2db0f04 use the same error structure in apple endpoints 2020-11-03 16:13:10 +01:00
Son NK
6e0394d980 fix filter not working when alias has several mailboxes 2020-11-03 15:10:57 +01:00
Son NK
4b8a2a1851 add tests for sign_data 2020-11-03 13:30:13 +01:00
Son NK
c1b8f717b5 improve DNS page 2020-11-03 13:12:22 +01:00
Son NK
4b6368b378 make sure only verified mailbox can be used as default 2020-11-03 12:43:01 +01:00
Son NK
19ac657c1c add GET /api/v2/mailboxes 2020-11-03 12:14:13 +01:00
Son NK
273537e7ae use same mailbox format for "POST /api/mailboxes" and "GET /api/mailboxes" 2020-11-03 11:22:01 +01:00
Son NK
a989545505 make sure alias contact address is valid 2020-11-03 11:13:43 +01:00
Son NK
04a418e655 fix contact name always converted to lowercase 2020-11-03 11:11:55 +01:00
Son NK
9fafddd603 use is_valid_email instead of regex 2020-11-03 11:11:09 +01:00
Son NK
751cc05534 check contact address in POST /aliases/<int:alias_id>/contacts 2020-11-03 11:10:32 +01:00
Son NK
72a34e28be add is_valid_email() 2020-11-03 11:09:37 +01:00
Son NK
a890557c7f Use check_alias_prefix() to check alias prefix 2020-11-03 10:39:08 +01:00
Son NK
8d0e243c83 sign PGP forwarded email if PGP_SENDER_PRIVATE_KEY 2020-11-02 19:09:57 +01:00
Son NK
3f150e5944 add new param PGP_SENDER_PRIVATE_KEY_PATH 2020-11-02 19:06:47 +01:00
Son NK
ec1b7dd8b8 return latest_activity=null if there's no activity in GET /api/v2/aliases 2020-11-01 12:32:20 +01:00
Son NK
38ca2341bc fix mailbox query in get_alias_infos_with_pagination_v3 2020-11-01 12:24:19 +01:00
Son NK
e49169b887 Reset default random alias domain setting if user is not premium 2020-11-01 09:37:09 +01:00
Son NK
28563b9653 fix duplicated display 2020-10-30 13:05:45 +01:00
Son NK
c076c7c7f3 PATCH /api/setting 2020-10-28 17:47:26 +01:00
Son NK
12f7485cb1 Add GET /api/setting/domains 2020-10-28 17:30:57 +01:00
Son NK
77bf9537d0 Add GET /api/setting 2020-10-28 17:23:58 +01:00
Son NK
91534d3cf2 Add PATCH /api/user_info 2020-10-28 17:12:21 +01:00
Son NK
3f40e3c1cf return profile_picture_url in GET /user_info 2020-10-28 17:11:33 +01:00
Son NK
6c816d51d6 fix load_public_key_and_check, remove IncorrectPassphrasePGPException 2020-10-28 12:21:42 +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
71be3b27f7 redirect user to dashboard when setup is done 2020-10-28 10:49:50 +01:00
Son NK
a2254cfdf8 remove pgp debugging code 2020-10-27 20:27:34 +01:00
Son NK
1abebe8067 improve how to use reverse-alias 2020-10-27 18:59:59 +01:00
Son NK
6803d4bf42 fix import error 2020-10-26 10:32:56 +01:00
Son NK
b09bb42b2d handle case where highlight_alias_id is not a number 2020-10-26 10:31:38 +01:00
Son NK
f0b46c1887 use warning log for /alias/options 2020-10-26 10:31:19 +01:00
Son NK
477481c41e save the data for debugging when pgp fails 2020-10-24 19:03:19 +02:00
Son NK
83f3309149 use warning log for /v3/alias/options 2020-10-24 16:28:07 +02:00
Son NK
c140d3f842 improve reverse-alias instruction use 2020-10-24 16:23:47 +02:00
Son NK
9f50ab4cce Handle IntegrityError when creating new alias 2020-10-24 15:50:29 +02:00
Son NK
5da7953a64 handle the case a directory alias is created concurrently 2020-10-23 11:55:01 +02:00
Son NK
85a1d67c6f put browser extension onboarding email to the welcome email 2020-10-22 11:46:15 +02:00
Son NK
bc1eeb4f01 move TOTP to top 2020-10-22 11:09:37 +02:00
Son NK
677f150fef add unsubscribe header to com emails 2020-10-22 10:44:05 +02:00
Son NK
ea45ac119e Refactor: create Alias.unsubscribe_link 2020-10-22 10:37:02 +02:00
Son NK
4f7b30c204 Set user.paid_lifetime if paid coupon 2020-10-21 19:31:25 +02:00
Son NK
050c2feaeb Add LifetimeCoupon.paid column 2020-10-21 19:31:07 +02:00
Son NK
459f821036 fix name 2020-10-20 20:09:44 +02:00
Son NK
a001132497 improve wording 2020-10-20 18:07:21 +02:00
Son NK
14b86749df add more precision on what is account email 2020-10-20 18:02:52 +02:00
Son NK
6921ab05fd reorganise settings sections 2020-10-20 17:47:58 +02:00
Son NK
635182e1ef move lifetime case to first 2020-10-20 17:45:06 +02:00
Son NK
acce32fcc8 add doc 2020-10-20 17:42:05 +02:00
Son NK
32e25f5378 bring back alias/options v1,2,3 2020-10-20 17:31:43 +02:00
Son NK
828799010b Add CustomDomain.nb_failed_checks column 2020-10-20 16:50:01 +02:00
Son NK
8482a55df6 display whether a domain is premium 2020-10-20 16:44:22 +02:00
Son NK
03521b5a84 do not check alias_domain_prefix when DISABLE_ALIAS_SUFFIX is set 2020-10-20 16:42:05 +02:00
Son NK
886d3a761c delete /alias/options v1,v2,v3 2020-10-19 12:08:47 +02:00
Son NK
a2a4e50f27 remove potential duplicate in available_alias_domains 2020-10-15 17:02:54 +02:00
Son NK
1524bb4e4b black 2020-10-15 16:52:55 +02:00
Son NK
dbf0404aa9 rename public_domain -> sl_domain if applicable 2020-10-15 16:52:38 +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
521d8e51a5 small fix 2020-10-15 16:25:56 +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
dcbd7baabc Add PublicDomain.premium_only column 2020-10-15 16:08:06 +02:00
Son NK
90163220cf rename email_domain_can_be_used_as_mailbox -> email_can_be_used_as_mailbox 2020-10-15 16:05:47 +02:00
Son NK
f56b0cddb2 use exception log for /alias/options endpoints 2020-10-15 16:02:04 +02:00
Son NK
cd15c64731 Add PREMIUM_ALIAS_DOMAINS config 2020-10-15 16:01:44 +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
6557b7157f handle the Paddle 147 error 2020-10-12 17:37:04 +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 Nguyen Kim
4e45a619cd
Merge pull request #302 from TheLastProject/feature/custom_domain_random_suffix
Support random suffix for personal domains
2020-10-11 18:06:06 +02:00
Sylvia van Os
9702037573 Reformat with Black 2020-10-09 23:00:10 +02:00
Sylvia van Os
26d0437009 Make prefix generation configurable per domain 2020-10-09 22:54:13 +02:00
Son NK
5486f54955 refactor verify_prefix 2020-10-09 22:08:29 +02:00
Son NK
8dbd3c1c68 more detailed error message when an alias can't be created 2020-10-09 11:48:52 +02:00
Sylvia van Os
6b085960cb Merge branch 'master' of https://github.com/simple-login/app into feature/custom_domain_random_suffix 2020-10-07 18:52:54 +02:00
Sylvia van Os
739fb50b04 Format with Black 2020-10-05 21:12:13 +02:00
Sylvia van Os
aeef9ccca9 Support random suffix for personal domains 2020-10-05 21:00:52 +02:00
Son Nguyen Kim
a4bcf59bfe
Merge pull request #297 from TheLastProject/feature/dedupe_email
Dedupe email address
2020-10-04 15:08:15 +02:00
Son NK
7e425c0338 disable login if user is disabled 2020-10-04 12:49:43 +02:00
Son NK
6c37a91c6d add User.disabled field 2020-10-04 12:49:43 +02:00
Son NK
e225bffc30 add backref for some models 2020-10-04 12:49:43 +02:00
Son Nguyen Kim
73e90e6892
Merge pull request #298 from TheLastProject/feature/autogenerated_icon
Show icon if address was autogenerated
2020-10-03 10:54:41 +02:00
Sylvia van Os
ff0eaa4bbf Show icon if address was autogenerated 2020-10-02 20:52:29 +02:00
Sylvia van Os
7be674c13b Reformat with Black 2020-10-01 21:51:50 +02:00
Sylvia van Os
d8ed1cbbc3 Dedupe email address 2020-10-01 21:35:11 +02:00
Son NK
cbdcab7d24 handle the ValueError in SpamAssassin 2020-09-30 17:24:03 +02:00
Son NK
770b15aba3 do not hardcode spamd user 2020-09-30 14:01:49 +02:00
Son NK
6a4622fca9 replace cx42 by spamd for SpamAssassin
get rid of "info: spamd: handle_user (userdir) unable to find user: 'cx42'" error
2020-09-30 12:47:39 +02:00
Son NK
772a2e7355 add "export alias" button 2020-09-30 12:20:18 +02:00
Son NK
8ed619687f ignore UnicodeDecodeError when parsing SpamAssassin response 2020-09-30 12:00: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 Nguyen Kim
4e7aec7dce
Merge pull request #293 from TheLastProject/patch-1
Add dot after DKIM
2020-09-30 11:09:01 +02:00
Son NK
91e3cc5dcb able to set a different host than 127.0.0.1 and apply black format 2020-09-30 10:32:21 +02:00
Son NK
078368362c copy spamassassin client code from https://github.com/petermat/spamassassin_client 2020-09-30 10:29:52 +02:00
Sylvia van Os
b95c44e3db
Add dot after DKIM
To prevent the domain name being added after it
2020-09-29 19:17:56 +02:00
Son NK
e661f90ce7 do not hard exit when memory exceeds the threshold 2020-09-29 12:33:36 +02:00
Son NK
571e39bb30 user can add/remove authorized address 2020-09-28 21:09:20 +02:00
Son NK
0830bba218 Add AuthorizedAddress model 2020-09-28 17:40:54 +02:00
Son NK
d6d686c4c3 add argument commit= to create() 2020-09-28 17:40:30 +02:00
Son NK
53f66d0f3c handle the "past due" subscription case: downgrade a subscription if it's renewed 2020-09-24 09:34:35 +02:00
Son NK
f274bac053 fix typo 2020-09-23 19:36:54 +02:00
Son NK
d81ad2fd12 sanitize mailbox before creating: remove empty space 2020-09-17 17:02:50 +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
5480f6d35b handle case highlight_id is not int 2020-09-14 19:54:00 +02:00
Son NK
40892f8253 contact email can contain whitespace 2020-09-14 18:21:30 +02:00
Son NK
299f7d3fba remove unnecessary sanitize 2020-09-14 17:58:15 +02:00
Son NK
491f4de120 add Contact mail_from and from_header column 2020-09-14 17:55:55 +02:00
Son NK
ed2e748d1e sanitize envelope mail_from and rcpt_tos 2020-09-14 17:30:01 +02:00
Son NK
c48b5038f3 sanitize rcpt_to in greylisting_needed 2020-09-14 12:20:16 +02:00
Son NK
18263c2fd5 handle case alias already created in try_auto_create_catch_all_domain() 2020-09-14 12:18:15 +02:00
Son NK
e291a71037 fix duplicate contact on contact page 2020-09-14 11:38:01 +02:00
Son NK
1026f0763d fix wording 2020-09-12 14:57:33 +02:00
Son NK
c6eba9f125 improve welcome email 2020-09-12 14:34:32 +02:00
Son NK
3545ae7d97 improve intro 2020-09-12 14:32:55 +02:00
Son NK
2cfaa93a5f create a first alias to receive SimpleLogin newsletter when user is created 2020-09-12 14:31:31 +02:00
Son NK
8fe508c5d3 Add User.newsletter_alias_id column 2020-09-12 14:30:49 +02:00
Son NK
c625a178e8 use RequestException instead of ConnectionError 2020-09-11 16:55:32 +02:00
Son NK
76175dc517 update batch import wording 2020-09-11 16:49:39 +02:00
Son NK
f664243e42 add batch-import page 2020-09-10 20:14:55 +02:00
Son NK
6da48298a6 Add BatchImport model 2020-09-10 20:05:25 +02:00
Son NK
a660a05f83 use warning for problem with random alias default domain 2020-09-10 09:32:51 +02:00
Son NK
a0b50762ee remove "how to use" on custom domain page 2020-09-08 13:51:46 +02:00
Son NK
7b6e58ef95 always show the "how to send email" help 2020-09-08 13:51:00 +02:00
Son NK
d1eb1ea799 handle case apple server not accessible 2020-09-05 20:56:03 +02:00
Son NK
5cf0a4bcfe handle case alias can be None in toggle_alias 2020-09-05 20:54:08 +02:00
Son NK
2d395f99bb make sure to remove whitespace in alias 2020-09-02 09:56:16 +02:00
Son NK
6629b8687b set cookie setup_done=true on the setup_done page 2020-09-01 20:47:57 +02:00
Son NK
4cb3e54821 send at max 1 email / 30 days for DNS issue on custom domain 2020-08-31 17:36:27 +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
e4c4797cdb do not mark a domain as unverified if it fails the MX check 2020-08-31 17:11:18 +02:00
Son NK
63e228d9f4 only alert on invalid mailbox that has too many email logs 2020-08-30 19:59:39 +02:00
Son NK
77c67c5314 create aliases_for_mailbox() and nb_email_log_for_mailbox() 2020-08-30 19:56:45 +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
ffc59a6fad Add check_custom_domain cronjob 2020-08-29 19:05:32 +02:00
Son NK
a3d919db2e take into account mailbox in alias search 2020-08-29 19:03:33 +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
9c72f4dec0 Add Alias.disable_email_spoofing_check column 2020-08-26 14:39:03 +02:00
Son NK
4101142253 black 2020-08-26 11:45:24 +02:00
Son NK
f213469e9f display nb-reply, nb-forward on alias contact page 2020-08-26 11:45:07 +02:00
Son NK
cd687664d1 fix email template 2020-08-25 13:03:34 +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 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
9237f43c19 use warning log level for tampered alias 2020-08-24 19:58:21 +02:00
Son NK
17c7303fb5 add get_header_from_bounce() 2020-08-24 10:17:22 +02:00
Son NK
eb6647d62e fix 2020-08-23 20:24:46 +02:00
Son NK
77bfa67402 fix delete_alias: do not use IntegrityError 2020-08-23 20:17:50 +02:00
Fabio Widmer
6a45010740
Remove secret variables from Jinja 2020-08-22 18:38:44 +02:00
Son NK
ef196c5b4a use 5.5 as max spam score 2020-08-22 16:58:51 +02:00
Son NK
00a08d898a refactor: do not use latest_activity in subquery 2020-08-21 23:10:23 +02:00
Son NK
d7583f1733 handle case where alias does not have any activity in get_alias_infos_with_pagination_v3 2020-08-21 20:39:18 +02:00
Son NK
30fe09185f create get_alias_infos_with_pagination_v3 - reduce nb queries used in get_alias_infos_with_pagination_v2 2020-08-21 19:51:48 +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
c77b0c07b4 fix alias sorting 2020-08-20 10:11:41 +02:00
Son NK
b8e0ee424c pass userId to Paddle 2020-08-20 09:44:45 +02:00
Son NK
7e345e4db3 fix typo 2020-08-19 10:03:07 +02:00
Son NK
7f34dc1a20 remove auto email fill-up on paddle 2020-08-19 09:22:54 +02:00
Fabio Widmer
aa18b7ecd1
Add variables to Jinja 2020-08-18 08:47:41 +02:00
Fabio Widmer
28dbafe1f7
Hide deprecated social login if not used 2020-08-16 12:57:12 +02:00
Son NK
0c6a5f4333 add EmailLog.spam_score column 2020-08-16 11:59:53 +02:00
Son NK
359eec23c0 take into account spam email during reply phase on refused email page 2020-08-15 16:58:11 +02:00
Son NK
f9300009e5 refactor: rename forward -> contact 2020-08-15 16:56:16 +02:00
Son NK
bf555ed605 detect spam in reply phase 2020-08-15 16:53:57 +02:00
Son NK
08db23658a add SPAMASSASSIN_HOST param 2020-08-15 16:33:48 +02:00
Son NK
c0f263ee70 add Monitoring model 2020-08-15 13:15:20 +02:00
Son NK
d8e4396a70 add HOST param 2020-08-14 19:09:45 +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
89830e2173 fix import 2020-08-14 12:06:26 +02:00
Son NK
6bc0c5ada4 fix Mailbox.delete: use alias_utils.delete_alias 2020-08-14 12:03:41 +02:00
Son NK
b4eb110971 fix Directory.create: use alias_utils.delete_alias 2020-08-14 12:02:54 +02:00
Son NK
2cae0200a8 use delete_alias(alias,user) instead of Alias.delete, DomainDeletedAlias.create, DeletedAlias.create 2020-08-14 12:02:33 +02:00
Son NK
4434ad62dd handle the case 2 users want to use the same email address 2020-08-13 11:00:48 +02:00
Son NK
b7cbaa6e84 delete the expired ChangeEmail object 2020-08-13 10:59:39 +02:00
Fabio Widmer
8e71e8e7f4
A few (self hosting) improvements 2020-08-12 16:12:41 +02:00
Fabio Widmer
d0ed69f8aa
Add Plausible Analytics support 2020-08-12 15:24:34 +02:00
Son NK
b395c2ebd0 use warning log for FIDO error 2020-08-12 12:48:51 +02:00
Son NK
9def7df974 also search for PGP key in contact 2020-08-08 10:26:24 +02:00
Son NK
8a11e42da9 notify admin when user cancels 2020-08-07 10:01:11 +02:00
Son NK
c74857c7e7 use alias name when searching 2020-08-07 09:56:44 +02:00
Son NK
2f00294ba3 replace pgp_enabled by disable_pgp 2020-08-06 14:22:28 +02:00
Son NK
1f0ef13ff2 do not require user to re-enter TOTP code when cancelling TOTP 2020-08-05 12:30:56 +02:00
Son NK
f17608df50 add link back to home page in recovery page 2020-08-05 12:28:20 +02:00
Son NK
6cb589350b avoid adding a built-in domain as custom domain 2020-08-04 21:07:45 +02:00
Son NK
a3051b3d45 black 2020-08-04 20:12:15 +02:00
Son NK
b3ca7d1d5b Return pgp_enabled in GET /api/v2/aliases 2020-08-04 20:11:59 +02:00
Son NK
03841693ba Return support_pgp in GET /api/v2/aliases 2020-08-04 20:09:42 +02:00
Son NK
f2fb599664 Optimize Alias.get_contacts() to retrieve the latest reply for each contact in a single query 2020-08-04 11:37:59 +02:00
Son NK
918b18870f show mailboxes that a catch-all alias belongs to 2020-08-01 12:41:48 +02:00
Son NK
41e2283d93 domain catch-all alias belongs to domain mailboxes 2020-08-01 12:31:43 +02:00
Son NK
f5bc166f39 able to choose mailboxes for a domain 2020-08-01 12:31:02 +02:00
Son NK
ec8f120085 small fixes in directory.py 2020-08-01 12:22:52 +02:00
Son NK
e8fc9752b5 Add DomailMailbox model 2020-08-01 12:20:59 +02:00
Son NK
ed22f5116f fix api key counter not correctly incremented 2020-08-01 10:14:59 +02:00
Son NK
68eeb2e121 add rel="noopener" for target="_blank" link 2020-07-30 10:09:10 +02:00
Son NK
efe1ab641f add hCaptcha check 2020-07-23 12:43:55 +02:00
Son NK
307e3c93c6 Add HCAPTCHA_SECRET, HCAPTCHA_SITEKEY param 2020-07-23 12:40:50 +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
8e9968a7d9 Add User.max_spam_score column 2020-07-23 11:09:28 +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
7f29756230 do not hardcode oauth urls 2020-07-16 23:48:47 +02:00
Son NK
515b3510a8 use warning when user is out of quota 2020-07-15 19:14:37 +02:00
Son NK
8f17cda794 use warning error for alias expiration error 2020-07-13 20:40:26 +02:00
Son NK
28c96d0d35 return 412 when alias ceration time is expired 2020-07-11 19:23:56 +02:00
Son NK
1bbc416ec1 fix the case public domain is also a custom domain for a specific user: check for public domain first. 2020-07-05 11:45:00 +02:00
Son NK
f9cb40aa5b user can choose a random alias domain in a list of public domains 2020-07-04 23:29:06 +02:00
Son NK
4b479ea003 take into account user.default_random_alias_public_domain_id in create_new_random() 2020-07-04 23:27:02 +02:00
Son NK
4542a8353e add User.available_domains_for_random_alias(), default_random_alias_domain() 2020-07-04 23:24:32 +02:00
Son NK
955231199e Add User.default_random_alias_public_domain_id 2020-07-04 23:23:39 +02:00
Son NK
ee9b796b7d Add PublicDomain model 2020-07-04 23:18:11 +02:00
Son NK
4cd0227477 refactoring: move model methods below fields 2020-07-04 22:46:09 +02:00
Son NK
5ed39b47ca add setup-done page 2020-07-04 19:42:48 +02:00
Son NK
d59e9a6238 use warning level for apple server issue 2020-07-04 18:24:34 +02:00
Son NK
d0776b770f add GET /api/logout 2020-07-04 12:10:04 +02:00
Son NK
0d3a3e0c48 Create POST /api/api_key 2020-07-04 11:41:31 +02:00
Son NK
5b3ec91300 login user in api auth endpoints 2020-07-04 10:39:38 +02:00
Son NK
df96773959 show nb paid user on referral page 2020-07-02 08:48:59 +02:00
Son NK
96ac15a3e0 add user.is_paid() and referral.nb_paid_user() 2020-07-02 08:48:37 +02:00
Son NK
40b4273111 take into account /verifyReceipt can return 5** 2020-06-30 20:10:12 +02:00
Son NK
c41bffbbae refactor: use SESSION_COOKIE_NAME instead of hardcoding "slapp" 2020-06-28 21:17:18 +02:00
Son NK
b23259cacd add Mailbox.nb_failed_checks 2020-06-28 11:17:36 +02:00
Son NK
ec0f5ccd3a only return verified mailbox in alias.mailboxes 2020-06-28 11:15:29 +02:00
Son NK
204f5f9a0c fix alias can be none in delete alias endpoint 2020-06-28 09:48:21 +02:00
Son NK
02bd45bc4a fix alias can be none in update alias endpoint 2020-06-28 09:48:21 +02:00
Son NK
b2f82ba4a8 use custom domain to generate a random alias if user enables this option 2020-06-25 13:05:25 +02:00
Son NK
abe9768db4 user can update the random alias domain 2020-06-25 13:04:27 +02:00