Commit Graph

2166 Commits

Author SHA1 Message Date
Son
51a85011b1 rename "send email" to "contacts" 2021-11-03 10:23:40 +01:00
Son
accbf882c4 user can set one_click_unsubscribe_block_sender setting 2021-11-03 10:11:47 +01:00
Son
31e39314d5 return "block_forward" for /api/aliases/{alias.id}/contacts 2021-11-02 15:55:16 +01:00
Son
4369137e25 block the sender via one click unsubscribe 2021-11-02 15:44:43 +01:00
Son
368a2f1b47 Add User.one_click_unsubscribe_block_sender column 2021-11-02 15:41:49 +01:00
Son
caa8656748 create /dashboard/block_contact/:contact_id 2021-11-02 15:30:18 +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
fbb1451352 rename file 2021-11-02 11:43:04 +01:00
Son
7fef62f67a Add MessageIDMatching.email_log_id column 2021-11-01 18:41:36 +01:00
Son
db226c5706 black 2021-11-01 17:58:20 +01:00
Son
e67969cdcf add processID to log format 2021-11-01 17:45:24 +01:00
Son
2691fff217 handle UnicodeDecodeError in replace() 2021-11-01 10:11:36 +01:00
Son
507d10cd89 user can block/unblock contact 2021-10-28 10:19:34 +02:00
Son
bc4805b1fa Add POST /api/contacts/:contact_id/toggle 2021-10-28 10:14:20 +02:00
Son
9620f97449 add Contact.block_forward column 2021-10-28 10:12:56 +02:00
Son
02a005d076 increase message_id length to 1024 2021-10-27 16:06:56 +02:00
Son
8aa7b1b773 set client.referral_id=None when a referral is deleted 2021-10-26 12:06:49 +02:00
Son
b41b695228 include the referral code when user signs up via SIWSL 2021-10-26 12:06:16 +02:00
Son
04bcc24ad7 user can set client.referral 2021-10-26 12:04:16 +02:00
Son
1aff59e112 improve client UI 2021-10-26 11:55:42 +02:00
Son
f19655fc93 add client.referral_id column 2021-10-26 11:55:27 +02:00
Son
a0165d6381 remove not working on gmail part 2021-10-25 15:39:49 +02:00
Son
3d071d27a6 improve wording, add client url 2021-10-25 15:18:42 +02:00
Son
0fbd351bed handle the referral url that has ?slref=code part 2021-10-25 15:02:02 +02:00
Son
83c5eded80 Referral name is required 2021-10-25 15:01:32 +02:00
Son
8cb413d5fd remove unused import 2021-10-25 14:47:07 +02:00
Son
7e0609c39a do not display nb_paid_user for client 2021-10-25 14:36:23 +02:00
Son
d701b84110 decode and encode email payload for quoted-printable email in replace() 2021-10-25 14:34:13 +02:00
Son
8680c0a739 do do not use the ra+ prefix for reverse alias 2021-10-25 14:33:42 +02:00
Son
befec56a86 display nb paid user on SIWSL app 2021-10-25 11:10:23 +02:00
Son
8bafdfc879 improve SIWSL wording 2021-10-25 11:09:30 +02:00
Son
9299904fc9 small refactor 2021-10-24 10:40:05 +02:00
Son
083b56b9a6 if user.disable_automatic_alias_note, do not add alias note 2021-10-23 18:24:28 +02:00
Son
50b0dc3767 Add User.disable_automatic_alias_note column 2021-10-23 17:40:57 +02:00
Son
d41ab5f5de use words.txt instead of words_alpha.txt 2021-10-23 17:31:56 +02:00
Son
b0822519eb only show the navigation arrow when #contacts > PAGE_LIMIT 2021-10-23 16:08:43 +02:00
Son
4a90c79753 make sure mailbox_ids is a list in /api/v3/alias/custom/new 2021-10-23 15:55:39 +02:00
Son
ecdce2307f make sure input of /api/v3/alias/custom/new is a dict 2021-10-23 15:52:17 +02:00
Son
5843fa94a0 handle encoding typo 2021-10-19 18:05:56 +02:00
Son
9fb6e45077 fix the help text too close to the input 2021-10-19 17:38:29 +02:00
Son
421c121d59 black 2021-10-19 14:03:51 +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
1483f2e103 Add EmailLog.message_id, sl_message_id and MessageIDMatching table 2021-10-18 17:25:59 +02:00
Son
462164ff16 use tldextract to extract hostname 2021-10-18 11:45:48 +02:00
Son
d6edd59450 use warning level 2021-10-18 09:55:28 +02:00
Son
0b06c46f65 handle missing content-transfer-encoding 2021-10-17 17:19:44 +02:00
Son
283a6a530d handle case address.parse can also parse an URL and return UrlAddress 2021-10-17 12:52:59 +02:00
Son
34564f6fa4 Add Metric2.nb_total_bounced_last_24h column 2021-10-15 10:46:22 +02:00
Son
4d740a4dc0 flake8 2021-10-15 10:39:29 +02:00
Son
57bfa7e933 make sure that a domain already used in a verified mailbox can't be added 2021-10-15 10:32:20 +02:00
Son
fcb94f0331 add Bounce.info column 2021-10-14 15:45:29 +02:00
Son
3bdeda3e04 add get_mailbox_bounce_info() 2021-10-14 15:10:16 +02:00
Son
05cf085511 fix 2021-10-13 13:32:27 +02:00
Son
cfe88b5df2 use job system to delete domain 2021-10-13 11:43:44 +02:00
Son
fbabe6fb44 use job system for deleting mailbox 2021-10-13 11:40:15 +02:00
Son
3a0b125323 fix table name 2021-10-13 10:52:41 +02:00
Son
e13a974e53 disable rate limiting 2021-10-13 10:30:04 +02:00
Son
074dd875dc comment out "Submit for approval" section 2021-10-12 14:39:29 +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
653a03ac11 show tooltip on highlighted alias 2021-10-12 09:58:17 +02:00
Son
8394d7340c format 2021-10-12 09:51:11 +02:00
Son
ee0ed7d9ec refactor: use headers.py 2021-10-11 12:21:14 +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
a7f82b2110 fix test 2021-10-11 11:47:07 +02:00
Son
5d7e10f776 make sure when user changes password, log user out on other browsers 2021-10-11 11:30:41 +02:00
Son
fdc23b3107 add User.alternative_id column 2021-10-11 11:30:10 +02:00
Son
cef6579946 add User.lifetime_coupon_id column 2021-10-04 17:14:34 +02:00
Son
9c528b913c add LifetimeCoupon.comment column 2021-10-04 16:48:33 +02:00
Son
4638155bbc allow import aliases for domains that have ownership_verified 2021-10-02 19:18:38 +02:00
Son Nguyen Kim
9528bdcb2e user can enable the ignore_loop_email 2021-09-27 15:58:04 +02:00
Son Nguyen Kim
339d611e63 remove Contact.from_header column 2021-09-27 12:19:33 +02:00
Son Nguyen Kim
8301015afd do not use email_validator in get_email_domain_part() 2021-09-27 12:13:41 +02:00
Son Nguyen Kim
408322217d allow user having apple subscription to switch to web subscription 2021-09-27 09:59:33 +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
469c2011aa use ~all instead of -all for SPF 2021-09-23 10:30:59 +02:00
Son Nguyen Kim
0ed0ac9ea7 handle "text/x-python-script" in replace() 2021-09-23 09:19:07 +02:00
Son Nguyen Kim
d7d301b9c3 add missing h1 2021-09-22 16:03:58 +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
3443499ab9 add note for alias auto created with directory too 2021-09-22 09:45:42 +02:00
Son Nguyen Kim
1a32b654d0 refactor 2021-09-22 09:45:00 +02:00
Son Nguyen Kim
7674d8480e refactor: rename 2021-09-22 09:44:35 +02:00
Son Nguyen Kim
ff1238a56f add alias note when auto creating alias via domain 2021-09-22 09:43:48 +02:00
Son Nguyen Kim
8024b35f1d refactor 2021-09-21 14:11:59 +02:00
Son Nguyen Kim
d8280af93c refactor: rename 2021-09-21 14:09:24 +02:00
Son Nguyen Kim
5e9fb83150 fix typo 2021-09-21 14:08:52 +02:00
Son Nguyen Kim
636879ac1a use another icon for pin 2021-09-21 12:20:44 +02:00
Son Nguyen Kim
9279b20975 only put pinned alias in default sorting 2021-09-21 12:20:29 +02:00
Son Nguyen Kim
0075cee1ee default to UUID for api key code if the previous one is already used 2021-09-21 11:27:37 +02:00
Son Nguyen Kim
3c81f982ca display N/A if api key name is null 2021-09-21 11:26:05 +02:00
Son Nguyen Kim
65ce47b6f7 Allow ApiKey.name to be null 2021-09-21 11:25:52 +02:00
Son Nguyen Kim
18acfd9a42 handle case mailbox new address is already used 2021-09-21 11:19:22 +02:00
Son Nguyen Kim
19088ba85f refactor 2021-09-21 11:17:32 +02:00
Son Nguyen Kim
d9d67df126 remove unique constraint on TransactionalEmail.email 2021-09-21 11:15:40 +02:00
Son Nguyen Kim
bcc5126500 remove any restriction on regex 2021-09-21 10:57:47 +02:00
Son Nguyen Kim
1d09d76cb2 use re2 instead of re to avoid ReDOS attack 2021-09-21 10:57:36 +02:00
Son Nguyen Kim
2c60414796 when new rule is created, go to the rule list section 2021-09-21 10:43:02 +02:00
Son Nguyen Kim
84880ae32a fix error with rule regex doesn't save if error 2021-09-21 10:42:32 +02:00
Son Nguyen Kim
1e3afa257c validate regex before creating rule 2021-09-21 10:42:02 +02:00
Son Nguyen Kim
f160ebec4e add debug zone to auto create page 2021-09-21 10:14:36 +02:00
Son Nguyen Kim
809f547742 remove CustomDomain.auto_create_regex 2021-09-21 09:48:07 +02:00
Son Nguyen Kim
e5a8ce1492 use AutoCreateRule instead of custom_domain.auto_create_regex when creating new alias 2021-09-20 18:29:36 +02:00
Son Nguyen Kim
56c72d5fba create auto create page, remove custom domain auto_create_regex part 2021-09-20 18:28:43 +02:00
Son Nguyen Kim
f36f8b94e2 Create AutoCreateRule, AutoCreateRuleMailbox model 2021-09-20 18:23:19 +02:00
Son Nguyen Kim
0055ca976b add flush option to ModelMixin.create() 2021-09-20 18:16:52 +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
cfb7b7cefc fix setting 2021-09-20 13:43:54 +02:00
Son Nguyen Kim
005a760710 handle case catch_all is enabled but custom_domain.auto_create_regex is already set 2021-09-20 12:32:39 +02:00
Son Nguyen Kim
153831ed1a remove obsolete sender formats 2021-09-20 12:27:36 +02:00
Son Nguyen Kim
98b472d925 use "pin" instead of "favorite" 2021-09-19 19:50:50 +02:00
Son Nguyen Kim
530bc8591e support | in auto create alias regex 2021-09-19 09:36:19 +02:00
Son Nguyen Kim
cbc20dd268 remove unused import 2021-09-18 19:19:17 +02:00
Son Nguyen Kim
838f1dc86d add beta mention to auto create alias regex 2021-09-18 19:16:43 +02:00
Son
9b89d7cc5d update package 2021-09-18 18:48:31 +02:00
Son
ec2812bfa4 handle invalid email in email_can_be_used_as_mailbox 2021-09-18 18:46:26 +02:00
Son Nguyen Kim
8b676bc4af not disable alias if ALIAS_AUTOMATIC_DISABLE is not set 2021-09-17 18:05:35 +02:00
Son Nguyen Kim
de3207ac4b Add ALIAS_AUTOMATIC_DISABLE 2021-09-17 18:05:18 +02:00
Son Nguyen Kim
344f8e67d2 take into account custom_domain.auto_create_regex in try_auto_create_catch_all_domain() 2021-09-17 17:43:12 +02:00
Son Nguyen Kim
a6c874e914 Use validate_email in get_email_local_part and get_email_domain_part 2021-09-17 17:42:52 +02:00
Son Nguyen Kim
2b84168d68 validate address in try_auto_create 2021-09-17 17:42:16 +02:00
Son Nguyen Kim
0b127216ee user can set custom_domain.auto_create_regex 2021-09-17 17:41:36 +02:00
Son Nguyen Kim
58d36e9cd8 add CustomDomain.auto_create_regex column 2021-09-17 17:35:36 +02:00
Son Nguyen Kim
b990c052ac move domain mailboxes to domain detail page and only enable it if catch-all is on 2021-09-17 11:54:37 +02:00
Son Nguyen Kim
512ade83b4 improve wording & styling on custom domain info page 2021-09-17 11:38:07 +02:00
Son Nguyen Kim
785a619385 Add debug_info decorator 2021-09-17 10:31:26 +02:00
Son Nguyen Kim
da0ddd5a34
Merge pull request #619 from Dattito/fix-wrong-description-of-error
fixed wrong description of error
2021-09-15 11:23:11 +02:00
Son Nguyen Kim
695a628e68 save email that can't be DKIM signed to temp dir to investigate 2021-09-15 09:29:08 +02:00
Son Nguyen Kim
3441d2ccf1 add new param TEMP_DIR 2021-09-15 09:28:08 +02:00
David Siregar
1cc8f7f2e3 fixed wrong description of error 2021-09-14 21:28:51 +02:00
Son Nguyen Kim
567bee9a0b add exception trace when dkim fails 2021-09-14 09:13:39 +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
62044e6db1 Add User.ignore_loop_email column 2021-09-10 18:14:51 +02:00
Son Nguyen Kim
4949afc791 black 2021-09-10 17:42:07 +02:00
Son Nguyen Kim
e5a388dffb optimize import 2021-09-10 17:37:33 +02:00
Son Nguyen Kim
61d9f7ee43 refactor 2021-09-10 17:31:29 +02:00
Son Nguyen Kim
41478a5715 replace parseaddr_unicode by parse_full_address 2021-09-10 17:26:14 +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
8023afe9be use email_validator instead of validate_email which isn't updated for a while 2021-09-10 16:42:02 +02:00
Son Nguyen Kim
6b65e00dcf install flanker, upgrade email_validator 2021-09-10 16:36:59 +02:00
Son Nguyen Kim
defd7b159d Fix get_header_unicode: handle the case header contains several parts 2021-09-09 11:47:01 +02:00
Son Nguyen Kim
4df83f953d handle utf-8 decoding fail 2021-09-08 15:17:11 +02:00
Son Nguyen Kim
5ac78f2694 reformat 2021-09-08 11:29:55 +02:00
Son Nguyen Kim
41f10373d1 add plan info 2021-09-08 10:51:47 +02:00
Son Nguyen Kim
f3cff1f1bf create manual subscription using the coupon.is_giveaway info 2021-09-07 15:36:19 +02:00
Son Nguyen Kim
d9f44437da add Coupon.is_giveaway column 2021-09-07 15:35:55 +02:00
Son Nguyen Kim
48838eb176 add highlighted alias in case it's not included in the result 2021-09-07 15:22:50 +02:00
Son Nguyen Kim
b2ac1b537d add only pinned alias filter 2021-09-07 15:10:37 +02:00
Son Nguyen Kim
6dd6b74073 black 2021-09-07 11:13:28 +02:00
Son Nguyen Kim
b53da25a41 handle hotmail complaint 2021-09-06 19:44:18 +02:00
Son Nguyen Kim
ccb526faa1 blur out other aliases when an alias is highlighted 2021-09-06 19:12:31 +02:00
Son Nguyen Kim
1df5bec8df use parsleyjs instead of formbouncerjs 2021-09-06 18:51:50 +02:00
Son Nguyen Kim
ffd2ec5e81 add filter by directory on dashboard 2021-09-05 19:11:05 +02:00
Son Nguyen Kim
3faf5c921d add admin for custom domain 2021-08-24 19:43:32 +02:00
Son Nguyen Kim
ef6388887f better filter app 2021-08-21 17:56:23 +02:00
Son Nguyen Kim
d6e48ea2e4
Merge pull request #593 from boarwell/keyboard-focusable
Re: Make the "Create" button focusable with keyboard
2021-08-21 16:25:20 +02:00
Son Nguyen Kim
40915ad741 make alias description font smaller 2021-08-21 16:18:01 +02:00
Son Nguyen Kim
4b184998bc make alias note always visible. Rename it to description 2021-08-21 16:11:17 +02:00
Son Nguyen Kim
b5c827c2ea handle case user already has an active subscription via another channel (Paddle, Apple, etc) on coupon page 2021-08-21 16:04:32 +02:00
Son Nguyen Kim
513f5cd4fb rename 2021-08-21 15:55:22 +02:00
boarwell
8519d06639 make the "Create" button focusable with keyboard
fix https://github.com/simple-login/app/pull/561#issuecomment-899102494
2021-08-21 01:09:40 +09:00
Son Nguyen Kim
bae9a6f431 flake8 2021-08-20 16:09:22 +02:00
Son Nguyen Kim
76c1b3d807 use deepcopy instead of email.message_from_string in copy() 2021-08-20 16:03:22 +02:00
Son Nguyen Kim
51578ce934 add filter by mailbox 2021-08-20 12:21:27 +02:00
Son Nguyen Kim
b606d35c11 add pg_trgm index on Alias.note to speed up LIKE search 2021-08-20 12:14:20 +02:00
Son
009e1edced also support substring search 2021-08-19 18:07:11 +02:00
Son
d8cb327b6e fix search 2021-08-19 17:47:10 +02:00
Son Nguyen Kim
59e4dbb6a6 fix error display on domain ownership check 2021-08-17 19:39:58 +02:00
Son Nguyen Kim
9c6f3989a0 remove hack 2021-08-17 19:19:49 +02:00
Son Nguyen Kim
aa041708e3 add ownership verification via TXT record 2021-08-17 19:05:12 +02:00
Son Nguyen Kim
f4fead2542 generate a domain ownership txt token if needed 2021-08-17 19:03:15 +02:00
Son Nguyen Kim
52e2e67081 add CustomDomain ownership_verified, ownership_txt_token column. Set ownership_verified=True for domain that has verified=True 2021-08-17 19:02:35 +02:00
Son
e03f9d2342 black 2021-08-15 22:17:49 +02:00
Son
cc86f698ee add login_as to admin 2021-08-15 22:14:52 +02:00
Son
800e866663 fix the alias creation not working 2021-08-15 18:18:23 +02:00
Son
1678945d5a improve wording 2021-08-15 17:58:49 +02:00
Son
0f4ad1a0d4 black 2021-08-15 17:56:31 +02:00
Son
e5308932a2 make mailbox deletion async 2021-08-15 17:50:47 +02:00
Son
1384ccc459 remove RESET_DB config 2021-08-15 17:32:33 +02:00
boarwell
e0da867b4a make the "Create" button focusable with keyboard 2021-08-09 16:49:03 +09:00
Son Nguyen Kim
2e9b288d7b optimize get_alias_infos_with_pagination_v3 when searching on mailbox email 2021-08-06 09:18:14 +02:00
Son Nguyen Kim
006a7b1420 black 2021-08-06 08:46:38 +02:00
Son Nguyen Kim
2f8f354f28 fix error with match(): use plainto_tsquery instead 2021-08-05 19:44:13 +02:00
Son Nguyen Kim
91d3d11452 update wording 2021-08-05 17:37:35 +02:00
Son Nguyen Kim
9eb3c7cf2c use Alias.ts_vector instead of note when returning alias 2021-08-04 09:30:12 +02:00
Son Nguyen Kim
2b048543d3 add Alias.ts_vector column to use full text search 2021-08-04 09:29:56 +02:00
Son Nguyen Kim
e2fea3aed8 Revert "add index for Alias name and email column"
This reverts commit 35a9a723aa.
2021-08-04 09:01:59 +02:00
Son Nguyen Kim
35a9a723aa add index for Alias name and email column 2021-08-04 08:57:13 +02:00
Son Nguyen Kim
b9d1d10473 Revert "add some indexes to speed up search by query"
This reverts commit e9538a62be.
2021-08-04 08:56:11 +02:00
Son Nguyen Kim
e9538a62be add some indexes to speed up search by query 2021-08-03 19:13:48 +02:00
Son Nguyen Kim
fb29503b81 do not send bounce to IgnoreBounceSender 2021-08-02 11:33:58 +02:00
Son Nguyen Kim
6dac717c75 Add IgnoreBounceSender model 2021-08-02 11:30:29 +02:00
Son Nguyen Kim
383cd49f25 fix year copyright in email 2021-07-30 17:05:16 +02:00
Son Nguyen Kim
9968cbfa8e make sure user cancels the Paddle subscription before deleting their account 2021-07-29 12:09:40 +02:00
Son Nguyen Kim
1cca7d4025 prettify UI 2021-07-29 10:14:13 +02:00