Commit graph

679 commits

Author SHA1 Message Date
Son
5105c0dbee limit the number of subdomains 2021-11-09 10:17:47 +01:00
Son
89648a83dd fix case /mailbox/confirm_change is called in unauthorized user 2021-11-08 11:22:54 +01:00
Son
bcf1fa2510 fix bug: user can't update mailbox address if it's already used by another account 2021-11-05 18:42:34 +01:00
Son
bfab753e76 do not show subdomain if no SLDomain support it 2021-11-05 18:10:56 +01:00
Son
4ed60ba1d0 set dmarc and dkim to False for subdomain 2021-11-05 18:09:04 +01:00
Son
58e92e7462 user can add subdomain 2021-11-05 11:44:39 +01:00
Son
0ae40d599a user can block contact directly on the dashboard 2021-11-03 11:29:46 +01:00
Son
accbf882c4 user can set one_click_unsubscribe_block_sender setting 2021-11-03 10:11:47 +01:00
Son
caa8656748 create /dashboard/block_contact/:contact_id 2021-11-02 15:30:18 +01:00
Son
b0822519eb only show the navigation arrow when #contacts > PAGE_LIMIT 2021-10-23 16:08:43 +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
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
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
cef6579946 add User.lifetime_coupon_id column 2021-10-04 17:14:34 +02:00
Son Nguyen Kim
9528bdcb2e user can enable the ignore_loop_email 2021-09-27 15:58:04 +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
469c2011aa use ~all instead of -all for SPF 2021-09-23 10:30:59 +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
1d09d76cb2 use re2 instead of re to avoid ReDOS attack 2021-09-21 10:57:36 +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
56c72d5fba create auto create page, remove custom domain auto_create_regex part 2021-09-20 18:28:43 +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
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
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
3ad4b6b76f use flanker instead of parseaddr_unicode 2021-09-10 17:06:38 +02:00
Son Nguyen Kim
5ac78f2694 reformat 2021-09-08 11:29:55 +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
48838eb176 add highlighted alias in case it's not included in the result 2021-09-07 15:22:50 +02:00
Son Nguyen Kim
ffd2ec5e81 add filter by directory on dashboard 2021-09-05 19:11:05 +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
Son Nguyen Kim
51578ce934 add filter by mailbox 2021-08-20 12:21:27 +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
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 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
c0fe72ccd0 user can change the expand_alias setting 2021-07-22 10:30:17 +02:00
Son Nguyen Kim
d181cd49dd Sign the whole Alias Suffix Info instead of just the suffix 2021-07-19 20:14:59 +02:00
Son Nguyen Kim
3141bf1367 remove redundant check 2021-07-19 20:02:26 +02:00
Son Nguyen Kim
55dcd63654 support search on contact page 2021-07-14 18:57:25 +02:00
Son Nguyen Kim
aa799fa339 Revert "Do not return contact alias activity on the contact manager page"
This reverts commit 45891bed36.

# Conflicts:
#	app/dashboard/views/alias_contact_manager.py
2021-07-14 17:21:07 +02:00
Son Nguyen Kim
25f0a71ea5 add 2 weeks mention on global stats 2021-07-14 17:15:46 +02:00
Son Nguyen Kim
253be7bad4 Revert "disable global stats to help the DB"
This reverts commit 7ce83c36b9.
2021-07-14 15:55:03 +02:00
Son Nguyen Kim
b98e913304 fix contact page 2021-07-13 22:25:53 +02:00
Son Nguyen Kim
45891bed36 Do not return contact alias activity on the contact manager page 2021-07-13 19:27:45 +02:00
Son Nguyen Kim
7ce83c36b9 disable global stats to help the DB 2021-07-13 14:52:02 +02:00
Son Nguyen Kim
601385a0c1 add coupon 2021-07-13 08:54:37 +02:00
Son NK
95d6fa3478 make sure user can create new alias to receive an alias transfer 2021-07-03 17:12:03 +02:00
Son NK
01815b9153 replace get_suffix() by User.get_random_alias_suffix() 2021-06-27 17:51:13 +02:00
Son NK
09d00df363 reformat imports 2021-06-27 17:50:36 +02:00
Raymond Nook
258d505cbf
Merge branch 'master' into master 2021-05-26 22:33:20 -07:00
devStorm
f7bef3941a
replace random_word with get_suffix(user) 2021-05-26 22:30:12 -07:00
Son NK
2f96322977 make sure BOUNCE_PREFIX_FOR_REPLY_PHASE can't be used as directory name or for creating aliases on-the-fly 2021-05-25 17:59:40 +02:00
devStorm
4a0fc8380f
variable naming 2021-05-14 11:03:16 -07:00
devStorm
30183ac8c3
🐛 fix style 2021-05-13 19:34:54 -07:00
devStorm
5c74ad2dc0
⚠️ Remove word list check 2021-05-13 16:55:46 -07:00
devStorm
178ce34399
Enum, setting 2021-05-13 16:53:01 -07:00
devStorm
3fc250018d
basic implementation of random suffix 2021-05-13 16:13:19 -07:00
Son NK
93a8873192 show payouts on referral page 2021-05-10 13:03:44 +02:00
Son NK
ceacf8e3a7 support dot in alias prefix 2021-04-30 11:37:17 +02:00
Son NK
c5697fbf3c remove unused import 2021-04-23 12:07:49 +02:00
Son NK
7946879308 schedule account deletion 2021-04-23 11:50:26 +02:00
Son NK
aad1270e0d free trial account can't create more than MAX_NB_EMAIL_FREE_PLAN aliases 2021-04-09 12:40:55 +02:00
Son NK
9757b12b95 user can remove the app link 2021-04-01 14:20:13 +02:00
Son NK
efae1710c8 extract the app/website to a separate page 2021-04-01 14:09:16 +02:00
Son NK
92acf352b6 add limiter for random alias creation 2021-03-24 17:30:05 +01:00
Son NK
71389b7e09 add limiter on custom alias page 2021-03-24 16:52:05 +01:00
Son NK
7ab64d9768 add more logging 2021-03-22 15:52:48 +01:00
Son NK
8bb324e82b propose users to disable an alias instead of deleting it 2021-03-18 14:21:26 +01:00
Son NK
3512cc087e remove unused import 2021-03-08 14:53:14 +01:00
Son Nguyen Kim
095e2ae0de
Merge pull request #377 from TheLastProject/feature/api_export
Add export endpoints
2021-03-08 12:18:28 +01:00
Sylvia van Os
3932ed2eb8 Add export endpoints 2021-03-06 21:56:42 +01:00
Son
863d8dcbe7 black 2021-03-06 18:10:41 +01:00
Son
23a0861790 Improve alias transfer. Use alias transfer_token. Add a limiter on /alias_transfer/receive 2021-03-06 18:08:42 +01:00
Son
475eaa2bc0 inform user when his alias has been transferred 2021-03-06 18:08:42 +01:00
Son NK
a2dad50d20 take into account apple sub 2021-02-23 19:40:40 +01:00
Son NK
d4ac2da96a set some fields back to default 2021-02-17 13:08:02 +01:00
Son NK
9e486fc2c0 add alias transfer 2021-02-17 12:56:28 +01:00
Son NK
dc29c6f9d9 improve wording 2021-02-12 13:03:31 +01:00
Son NK
5bb0ae0234 Set user.sender_format_updated_at when user updates sender_format 2021-01-26 20:14:13 +01:00
Son NK
4cd49b66c2 use VERP for transactional email: remove SENDER, SENDER_DIR 2021-01-26 09:59:22 +01:00
Son NK
45ac548e2b reserve bounce, bounces as directory name 2021-01-11 14:32:48 +01:00
Son NK
e9adb3270d use sanitize_email instead of .lower().strip().replace(" ", "") 2021-01-11 12:29:40 +01:00
Son NK
ef7fae32b1 remove the "Hi {name}" from email template 2021-01-11 10:23:34 +01:00
Son NK
2b4dc3cdcc when a custom domain is default and has random_prefix_generation enabled, use the random_prefix as the first choice 2021-01-02 18:17:53 +01:00
Son NK
33dd6083c7 rename available_suffixes_more_info -> get_available_suffixes 2020-12-31 14:27:04 +01:00
Son NK
95f3db6aa5 remove available_suffixes() 2020-12-31 14:26:07 +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
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
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
830331d9b3 improve wording 2020-12-14 11:52:35 +01:00
Son NK
3dd8ed7840 Create /dashboard/coinbase_checkout, remove extend_subscription route 2020-12-14 11:34:59 +01:00
Son NK
530160567b fix coinbase button not displayed on pricing page 2020-12-13 19:51:00 +01:00
Son NK
fbe48b7b3e add extend subscription link on settings page 2020-12-13 19:14:54 +01:00
Son NK
436e31229f Create extend_subscription page 2020-12-13 19:13:26 +01:00
Son Nguyen Kim
bf139f83b3
Merge pull request #342 from herrboyer/linting
Linting
2020-12-07 17:45:50 +01:00
Son NK
4fb7b7bd2c user can change directory disabled 2020-12-07 10:49:40 +01:00
Renaud Boyer
5d948faf56 black 2020-12-06 22:11:58 +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
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
Renaud Boyer
7bac9e82b9 linting 2020-12-06 18:04:29 +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
adfbfe8026 Use load_public_key_and_check when adding new PGP key 2020-11-26 10:27:32 +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
a1d5b01143 make sure mailbox email is valid 2020-11-22 12:18:31 +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
5b9dc88c67 make sure alias prefix cannot be more than 40 chars 2020-11-18 10:38:35 +01:00
Son NK
319078fceb use contact email when generating reply-email 2020-11-18 10:24:39 +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
3d153f5203 make sure user can't choose "ra" as directory name 2020-11-16 19:18:33 +01:00
Son NK
75ba1669e0 Create generate_reply_email() and refactor 2020-11-16 19:15:09 +01:00
Son NK
f500a495b7 User can pin an alias 2020-11-15 18:46:43 +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
4be182320e black 2020-11-07 13:00:58 +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
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
a890557c7f Use check_alias_prefix() to check alias prefix 2020-11-03 10:39:08 +01:00
Son NK
71be3b27f7 redirect user to dashboard when setup is done 2020-10-28 10:49:50 +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
9f50ab4cce Handle IntegrityError when creating new alias 2020-10-24 15:50:29 +02:00
Son NK
4f7b30c204 Set user.paid_lifetime if paid coupon 2020-10-21 19:31:25 +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
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
e79522b638 take into account Premium domains 2020-10-15 16:21:31 +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
6557b7157f handle the Paddle 147 error 2020-10-12 17:37:04 +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 NK
772a2e7355 add "export alias" button 2020-09-30 12:20:18 +02:00
Son NK
571e39bb30 user can add/remove authorized address 2020-09-28 21:09:20 +02:00
Son NK
d81ad2fd12 sanitize mailbox before creating: remove empty space 2020-09-17 17:02:50 +02:00
Son NK
5480f6d35b handle case highlight_id is not int 2020-09-14 19:54:00 +02:00
Son NK
299f7d3fba remove unnecessary sanitize 2020-09-14 17:58:15 +02:00
Son NK
e291a71037 fix duplicate contact on contact page 2020-09-14 11:38:01 +02:00
Son NK
f664243e42 add batch-import page 2020-09-10 20:14:55 +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
e4c4797cdb do not mark a domain as unverified if it fails the MX check 2020-08-31 17:11:18 +02:00
Son NK
fdedc24358 black new version 2020-08-27 10:20:48 +02:00
Son NK
f213469e9f display nb-reply, nb-forward on alias contact page 2020-08-26 11:45:07 +02:00
Son NK
9237f43c19 use warning log level for tampered alias 2020-08-24 19:58:21 +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
4434ad62dd handle the case 2 users want to use the same email address 2020-08-13 11:00:48 +02:00
Son NK
b395c2ebd0 use warning log for FIDO error 2020-08-12 12:48:51 +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
6cb589350b avoid adding a built-in domain as custom domain 2020-08-04 21:07:45 +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
6437ee46e0 use LOG.exception instead of LOG.error to provide stacktrace 2020-07-17 12:59:07 +02:00
Son NK
515b3510a8 use warning when user is out of quota 2020-07-15 19:14:37 +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
5ed39b47ca add setup-done page 2020-07-04 19:42:48 +02:00
Son NK
abe9768db4 user can update the random alias domain 2020-06-25 13:04:27 +02:00
Son NK
1a22d0cf9b fix domain can be null in self-hosting
# Conflicts:
#	app/api/views/new_custom_alias.py
#	app/dashboard/views/custom_alias.py
2020-06-15 15:58:05 +02:00
Son NK
4ee38823b8 make sure to strip and lower email 2020-06-11 23:35:24 +02:00
Son NK
afe975b8c3 User can add PGP key to for a contact 2020-06-07 13:40:24 +02:00
Son NK
bc01479a72 user can update directory mailboxes 2020-06-05 22:13:35 +02:00
Son NK
18b530fe6f Able to set mailboxes when creating directory 2020-06-05 22:12:21 +02:00
Son NK
50a7442d02 update notification email 2020-06-03 21:37:44 +02:00