Commit graph

2412 commits

Author SHA1 Message Date
Adrià Casajús
bc82bab1eb
Added alembic migration 2022-03-10 16:37:21 +01:00
Adrià Casajús
1d15af53b7
Add an audit log for the admin panel 2022-03-10 16:13:31 +01:00
Son
0e3a5c3d3c mark a notification as read when user arrives on the notification page 2022-03-09 17:58:26 +01:00
Son
6f80edfd64 fix discover page 2022-03-08 16:38:03 +01:00
Son
a64a70cbc8 use Date instead of date for header value 2022-03-07 15:57:29 +01:00
Son
350f498b94 lessen alias automatic disable check 2022-03-07 15:50:58 +01:00
Son
71136669e9 return the block reason in should_disable() 2022-03-07 15:44:27 +01:00
Son
f7ba3873d0 add adhoc upgrade on admin 2022-03-02 19:05:17 +01:00
Son
52a911f9d3 add extend subscription for 1 month to admin 2022-03-02 19:04:45 +01:00
Son
b2d8f5a017 disable edition on admin 2022-03-02 19:04:30 +01:00
Son
627b2e56d9 comment out some admin pages 2022-02-28 16:40:07 +01:00
Son Nguyen Kim
6a520e110c
Merge pull request #816 from simple-login/feature/include-sender-in-header
Feature/include sender in header
2022-02-28 09:24:18 +01:00
Son
205d8d7d3f add index for Alias custom_domain_id and directory_id columns 2022-02-26 17:51:50 +01:00
Son
4faf0d7636 optimize dashboard page: load custom domain using joinedload() instead of explicit join 2022-02-26 17:34:53 +01:00
Son Nguyen Kim
7df93c2ee5
Merge pull request #813 from cquintana92/feature/make-nameservers-configurable
Make nameservers configurable
2022-02-25 12:29:50 +01:00
Son
007aa56551 user can turn on/off the including sender in header option 2022-02-25 12:24:54 +01:00
Son
51598ada02 add User.include_header_email_header column 2022-02-25 12:24:54 +01:00
Carlos Quintana
e9dd73e99b
Replace env by os.environ.get 2022-02-25 11:19:49 +01:00
Adrià Casajús
01cc65bdca
Allow to have lower priority MX servers 2022-02-24 17:23:45 +01:00
Carlos Quintana
8f339923f8
Make nameservers configurable 2022-02-24 15:05:05 +01:00
Son
7da06ba424 return 422 if account not activated 2022-02-22 22:12:36 +01:00
Son Nguyen Kim
e9d134fe8f
Merge pull request #784 from FozzieHi/fix-testing-warnings
Fix deprecation warnings.
2022-02-21 17:12:36 +01:00
Son Nguyen Kim
e55c3a155b
Merge pull request #803 from acasajus/fix/sentry-APP-ZP
Only allow authenticated and enabled users to accept a OAuth post request
2022-02-21 17:11:53 +01:00
Adrià Casajús
4b13d5a28c
Fix test 2022-02-21 16:03:39 +01:00
Son Nguyen Kim
7d008228e3
Merge pull request #811 from cquintana92/feature/ignore-or-reject-for-blocked-contacts
Allow to configure ignore or reject response for blocked contacts
2022-02-21 15:55:48 +01:00
Son Nguyen Kim
bfcd75bdea
Merge pull request #801 from acasajus/new/no-reply
Send support questions to the support ticket page
2022-02-21 15:07:27 +01:00
Carlos Quintana
ee9170bb17
Allow to configure ignore or reject response for blocked contacts 2022-02-21 12:52:21 +01:00
Adrià Casajús
33163660f7
PR comments 2022-02-21 12:30:26 +01:00
Adrià Casajús
3e983e3557
Only allow authenticated and enabled users to accept a OAuth post request 2022-02-17 17:25:04 +01:00
Adrià Casajús
b0ac2f871a
Fixes 2022-02-17 13:21:40 +01:00
Adrià Casajús
398c1a55f1
Change SUPPORT_EMAIL to NOREPLY 2022-02-17 13:18:52 +01:00
Adrià Casajús
15ce7b00d8
Reply to noreply@... once per user 2022-02-16 18:38:31 +01:00
Carlos Quintana
2a751624a8
Default ALLOWED_REDIRECT_DOMAINS to URL if it's not set 2022-02-16 16:16:14 +01:00
Carlos Quintana
b4e291d4fd
Make NextUrlSanitizer a static class 2022-02-16 16:05:50 +01:00
Carlos Quintana
6be99bc576
Do not account for urlencoded redirects 2022-02-16 16:02:13 +01:00
Carlos Quintana
a44acf1846
Add support for allowed redirect domains 2022-02-16 09:38:55 +01:00
Carlos Quintana
39222cf868
Simplify conditional 2022-02-15 16:33:30 +01:00
Carlos Quintana
2f9489fe39
Only allow relative redirects 2022-02-15 15:16:31 +01:00
Son
728d935d65 add ZENDESK_ENABLED param 2022-02-14 18:08:32 +01:00
Son
c3cd1419f9 reformat code: put POST handling on top 2022-02-14 18:02:54 +01:00
Son
a0bb4e9ccc more verbose error 2022-02-14 18:02:30 +01:00
Son Nguyen Kim
69c8980c18
Merge pull request #792 from acasajus/new/zendesk-support
Create support tickets via zendesk
2022-02-14 17:53:30 +01:00
Adrià Casajús
416e7b363a
PR fixes 2022-02-14 15:58:36 +01:00
Adrià Casajús
305ce38379
PR changes 2022-02-14 11:19:03 +01:00
Adrià Casajús
700856053a
PR comment fixes 2022-02-11 13:32:31 +01:00
Adrià Casajús
8120128a51
Added Zendesk token 2022-02-10 12:59:48 +01:00
Adrià Casajús
639d4412e1
Updated comments from PR 2022-02-10 12:47:31 +01:00
Adrià Casajús
c9974d5321
Removed successful ticket created page and replaced with notification 2022-02-10 12:38:56 +01:00
Adrià Casajús
3fedc84c95
Add rate limit to ticket createion 2022-02-10 12:34:46 +01:00
Son Nguyen Kim
c18f9658b0
Merge pull request #787 from FozzieHi/test-config
Update testing suite and refactor.
2022-02-10 11:37:36 +01:00
Adrià Casajús
e844c9a392
Removed disabled page and redirected to the normal dashboard 2022-02-10 11:04:36 +01:00
Adrià Casajús
f59c5499fb
Formatting 2022-02-10 10:30:28 +01:00
Adrià Casajús
8aee883aae
Updated with more PR comments 2022-02-09 16:41:04 +01:00
Adrià Casajús
95fa95649d
Added comments from PR 2022-02-09 16:20:55 +01:00
Adrià Casajús
e57dcac2d2
Added zendesk submission flow 2022-02-09 12:00:48 +01:00
Adrià Casajús
219d5b998f
Add a suport form to create tickets in zendesk 2022-02-08 22:04:25 +01:00
Son
5b62f5a745 add rate limit to /auth/register 2022-02-07 18:45:41 +01:00
george
c415324932
Add flake8-bugbear 2022-02-06 20:37:43 +00:00
george
f7be992437
Update black, flake8 and pre-commit and use specific pre-commit versions. 2022-02-06 14:25:53 +00:00
Son
5da31f53b4 add MONITORING_EMAIL param 2022-02-04 15:43:40 +01:00
george
936d90a5f5
Fix deprecation warnings. 2022-02-04 13:49:38 +00:00
Son
4d1c4cfdff support pinned parameter in /api/v2/aliases 2022-02-03 11:16:49 +01:00
Son Nguyen Kim
543923b325
Merge pull request #760 from FozzieHi/delete-all-api-keys-button
Add a button to delete all API Keys
2022-02-02 18:31:05 +01:00
Son
049bd746ad refactor shell 2022-01-26 15:22:37 +01:00
Son
5a712f3877 make sure subdomain can only contain lowercase letters, numbers and dashes. 2022-01-26 14:53:27 +01:00
george
74713c2142
Rename method. 2022-01-25 18:32:34 +00:00
Son Nguyen Kim
89a800eed9
Merge pull request #753 from FozzieHi/totp-invalid-login-email
Invalid TOTP and recovery code email notifications
2022-01-24 18:35:52 +01:00
Son
fc3f06f4d8 create notification listing page 2022-01-24 16:45:36 +01:00
Son
90fa4abf69 create a notification for a bounce email 2022-01-24 16:10:36 +01:00
Son
1de6fefc59 add notification detail page 2022-01-24 15:22:01 +01:00
Son
5b7949f346 return title in /api/notifications 2022-01-24 15:20:59 +01:00
Son
3422f038eb add Notification title 2022-01-24 15:18:56 +01:00
george
65531b5c63
Add a button to delete all API Keys. 2022-01-23 18:38:54 +00:00
Son
e73288354d remove IGNORED_EMAILS variable 2022-01-21 19:30:27 +01:00
george
ab72927a16
Update text. 2022-01-20 18:24:28 +00:00
george
50122da0fe
Implement API notifications and use a function in email_utils 2022-01-20 17:42:11 +00:00
george
42407a0543
Send the email after the local error. 2022-01-20 16:44:15 +00:00
george
f7f91afc1e
Send a notification email for invalid recovery codes. 2022-01-20 16:41:42 +00:00
george
6d736aa915
Implement rate limiting with send_email_with_rate_control. 2022-01-20 15:05:18 +00:00
george
0eb2984b9c
Add invalid TOTP login email notifications. 2022-01-20 14:18:47 +00:00
Son
b929dc5462 check if alias is not none 2022-01-18 09:40:50 +01:00
Son
0806f9243e return custom domain json in patch 2022-01-16 17:26:11 +01:00
Son
841621dbe2 handle the case mailboxes is empty in try_auto_create_via_domain 2022-01-13 09:33:32 +01:00
Son
4cea47cc27 add setting for include_website_in_one_click_alias 2022-01-12 11:50:49 +01:00
Son
6cd8e45d21 return the default sender format (AT) in case user uses a non-supported sender format 2022-01-12 10:19:25 +01:00
Son
c0067b7657 add more log 2022-01-10 15:58:22 +01:00
Son
73d781cf6b handle non number alias_id 2022-01-10 10:44:41 +01:00
Son
9c696bd038 ignore VERPReply 2022-01-09 20:35:57 +01:00
Son
6cdf5637aa validate the alias address before creating 2022-01-09 20:22:41 +01:00
Son
a0727435eb use warning level 2022-01-09 20:13:41 +01:00
Son
c5e4dd6d16 save email for debug with error name as prefix 2022-01-08 16:58:23 +01:00
Son
862d0e7a11 warn users if SL is used with another forwarding service 2022-01-08 00:42:03 +01:00
Son
ed4acebdb1 delete the email log in reply phase if NonReverseAliasInReplyPhase 2022-01-08 00:28:26 +01:00
Son
01ba5e8bf0 return 5** if CannotCreateContactForReverseAlias 2022-01-08 00:16:16 +01:00
Son
20b6ce29fc take into account authorized_address when checking email loop 2022-01-08 00:09:45 +01:00
Son
d4e31257fa make sure to output exception name in log 2022-01-07 16:45:12 +01:00
Son
fb87225d2d raise error when receiving emails sent from reverse alias 2022-01-07 16:14:21 +01:00
Son
d4e1aec875 refactor 2022-01-07 14:57:47 +01:00
Son
6b31b8926e fix comment 2022-01-07 14:27:53 +01:00
Son
1bdae7fbe8 handle CannotCreateContactForReverseAlias when user creates a new contact 2022-01-07 10:47:36 +01:00
Son
5195c9de8b raise error when a non reverse-alias is used during the reply phase 2022-01-07 10:34:08 +01:00
Son
84d1f22a7b add Contact.automatic_created column to know which contact is created during the forward phase 2022-01-07 10:21:31 +01:00
Son
ad622df071 make sure a contact with website_email=reverse alias of another contact can't be created 2022-01-07 10:04:12 +01:00
Son
b2e4578953 add yield_per_query() helper 2022-01-06 18:50:54 +01:00
Son
d1b9fb8bb5 add type annotation for Session 2022-01-06 18:30:14 +01:00
Son
37bb7655d5 remove unused import 2022-01-06 15:30:33 +01:00
Son
9ff323c746 make sure to set custom_domain_id when creating a new alias 2022-01-06 15:29:37 +01:00
Son
b7e8324e5a move get_custom_domain() to alias_utils 2022-01-06 15:20:09 +01:00
Son
33bd7dbcd6 refactor 2022-01-06 14:57:01 +01:00
Son
de9f994fe2 check suffix in try_auto_create 2022-01-06 11:12:26 +01:00
Son
4976f48944 add /phone/provider2/sms 2022-01-05 18:14:51 +01:00
Son
b505ceebe9 add PHONE_PROVIDER_2_HEADER, PHONE_PROVIDER_2_SECRET config 2022-01-05 18:14:14 +01:00
Son
385dd1e755 handle out-of-office email in addition to bounce 2022-01-05 15:30:44 +01:00
Son
ffc621596a fix is_automatic_out_of_office: only use "Auto-Submitted" header 2022-01-05 15:21:54 +01:00
Son
6cb55e27f3 make sure alias that starts with bounce prefix can't be automatically created 2022-01-05 15:16:04 +01:00
Son
5e2ea81a6c do not consider out-of-office as bounce 2022-01-04 18:06:08 +01:00
Son
2ed7c5fcdb only return active number 2022-01-04 16:26:38 +01:00
Son
4ac8da1e8f poll messages on the phone reservation page 2022-01-04 16:24:50 +01:00
Son
4d8c89105f GET /api/phone/reservations/:reservation_id 2022-01-04 16:22:41 +01:00
Son
d51c32ad51 always return 200 for phone provider1 callback 2022-01-04 14:58:41 +01:00
Son
72bd998b9b fix logging 2022-01-04 14:58:24 +01:00
Son
bc2f9ad45f add PhoneNumber.comment column 2022-01-04 14:54:55 +01:00
Son
127f8daad7 add /phone/provider1/sms 2022-01-04 14:53:22 +01:00
Son
3484f71dac add PHONE_PROVIDER_1_HEADER and PHONE_PROVIDER_1_SECRET config 2022-01-04 14:52:56 +01:00
Son
a4b113b7fa remove DISPOSABLE_FILE_PATH 2022-01-04 09:40:10 +01:00
Son
d38fa95eed make sure number of minutes is specified 2022-01-04 09:35:34 +01:00
Son
325207d6ba Use InvalidMailboxDomain instead of DISPOSABLE_EMAIL_DOMAINS 2022-01-03 10:33:21 +01:00
Son
4332fd3244 Create InvalidMailboxDomain model 2022-01-03 10:31:33 +01:00
Son
85fb859dcb show error when a domain can't be used as random alias default domain 2022-01-03 10:05:06 +01:00
Son
34118f459a ignore smtp error in send_trial_end_soon_email() 2022-01-03 09:59:52 +01:00
Son
558200113c remove unnecessary code in send_email() 2022-01-01 11:47:45 +01:00
Son
01a8a0343e log when an alias is deleted 2021-12-31 11:18:08 +01:00
Son
61226545c2 handle the 2 consecutive dots in alias 2021-12-31 11:15:24 +01:00
Son
9ee449722a new domain has ownership verified if its root has the ownership verified 2021-12-31 11:10:36 +01:00
Son
a6f5b755aa set apple_sub.product_id 2021-12-30 16:20:31 +01:00
Son
e1d82b7e0d Add AppleSubscription.product_id col 2021-12-30 16:20:18 +01:00
Son
30ba566457 take into account _MACAPP_MONTHLY_PRODUCT_ID in verify_receipt 2021-12-30 16:15:33 +01:00
Son
22cf8cfe38 send Custom/smtp_connection_time to newrelic 2021-12-30 14:17:46 +01:00
Son
2cd50c582a remove NEWRELIC_CONFIG_PATH 2021-12-30 14:15:49 +01:00
Son
c5185eddf3 Revert "log "Custom/smtp_connection_time" metric in newrelic"
This reverts commit 378bad6253.
2021-12-30 11:55:48 +01:00
Son
378bad6253 log "Custom/smtp_connection_time" metric in newrelic 2021-12-30 11:46:01 +01:00
Son
a64968f6e5 consider utf-8 email encoding as no encoding 2021-12-30 11:36:52 +01:00
Son
b3469ba9d4 log how much time to get a smtp connection 2021-12-30 11:28:50 +01:00
Son
c14a7b4f7a use with ... for smtp 2021-12-29 17:09:24 +01:00
Son
f439e39580 cache smtp server and remove POSTFIX_PORT_FORWARD 2021-12-29 16:26:37 +01:00
Son
733a9c42b0 delete activation code before sending email to avoid any delay 2021-12-29 10:26:42 +01:00
Son
80b0af91e5 allow user to create alias with domain that has ownership verified (and might not have MX verified) 2021-12-29 10:24:22 +01:00
Son
b9e2a79933 enable email sending retry in cron job 2021-12-28 16:42:01 +01:00
Son
a270c72d60 add random_alias_suffix to settings api 2021-12-28 15:24:58 +01:00
Son
229dc7fd44 fix test 2021-12-28 15:09:33 +01:00
Son
83be94b43e user can create aliases for domains that don't have mx verified 2021-12-28 12:01:32 +01:00
Son
fc42db43ca add new sender formats: NAME_ONLY, AT_ONLY, NO_NAME 2021-12-28 10:49:37 +01:00
Son
24a392818b sl_sendmail tries by default 2 times before giving up: replace can_retry by retries 2021-12-27 17:03:44 +01:00
Son
2cf1c4143a reduce sleep time between sl_sendmail failure 2021-12-27 17:00:11 +01:00
Son
a6569d47dd do not put price in plan_name to take into account discount 2021-12-26 22:04:45 +01:00
Son
584772f798 fix upgrade_channel 2021-12-23 19:28:57 +01:00
Son
879b364a47 return 421 to retry when SMTPRecipientsRefused error 2021-12-23 18:17:29 +01:00
Son
544df7034d do not retry sending email in send_email() 2021-12-16 21:31:01 +01:00
Son
75d6b1dab5 add more logging 2021-12-16 15:09:15 +01:00
Son
64c6ef2cbe retry when SMTPRecipientsRefused too 2021-12-16 15:06:26 +01:00
Son
a142a430d2 use sl_sendmail instead of smtp.sendmail 2021-12-16 10:32:10 +01:00
Son
eec2880c41 fix case signed_suffix is None 2021-12-15 17:12:27 +01:00
Son
79ca39a625 use regex_match instead of re.fullmatch() 2021-12-14 15:00:32 +01:00
Son
5e7730c35c refactor: move regex_match() to its own file 2021-12-14 15:00:32 +01:00
Son
f3e8fc10a9 use re instead of re2 if error "Argument 'pattern' has incorrect type (expected bytes, got PythonRePattern)" 2021-12-11 19:38:22 +01:00
Son
a021bba811 fix toggle contact should only be used by authenticated user 2021-12-06 18:39:12 +01:00
Son
c6a2af3c3c remove unused admin column 2021-12-06 18:04:23 +01:00
Son
3e2c120a73 phone reservation page
- add twilio lib
- create phone listing, reservation page
- add twilio callback to receive messages
2021-12-02 17:03:13 +01:00
Son
7109dc7120 add models for phone: Country, Number, Reservation, Message 2021-12-02 16:50:26 +01:00
Son
daca70f2b4 add TWILIO_AUTH_TOKEN config 2021-12-02 16:30:30 +01:00
Son
226ce9333c return error if invalid alias address 2021-12-02 16:17:41 +01:00
Son
e1123961cf check if user has lifetime license on pricing page 2021-12-01 17:41:20 +01:00
Son
4d388a202c allow user with manual or coinbase subscription to switch to paddle 2021-12-01 17:16:01 +01:00
Son
c6f49821c7 remove unused import 2021-12-01 10:39:08 +01:00
Son
34509cbbb3 delete account is protected by password 2021-12-01 10:11:18 +01:00
Son
4ffa5c9345 display expires date 2021-11-30 10:33:31 +01:00
Son
94a90665ea black format 2021-11-29 16:46:03 +01:00
Son
21bd4ed97e display all user payment channels on admin 2021-11-29 16:26:41 +01:00
Son
c29b5100fb delete User.subscription_cancelled 2021-11-29 16:17:24 +01:00
Son
325a1a9524 remove unused User.premium_end 2021-11-29 11:35:28 +01:00
Son
5f47d172e0 move fake_data() to dedicated fiel 2021-11-28 11:51:31 +01:00
Son
c356c75494 show coupon expires date when user buys a coupon 2021-11-26 18:20:46 +01:00
Son
4d0f6811b2 error if coupon is expired 2021-11-26 18:11:03 +01:00
Son
06d459ba99 Add coupon.expires_date column 2021-11-26 18:10:23 +01:00
Son
6d1b6720cf set content_type for plain text message 2021-11-25 10:34:59 +01:00
Son
dd6e265aa0 add RSPAMD_SIGN_DKIM and add "X-SimpleLogin-Want-Signing" header 2021-11-25 10:34:42 +01:00
Son
4c33b63f97 better way to know whether this is the last page 2021-11-23 14:44:48 +01:00
Son
cd553608a5 fix 2021-11-23 14:35:37 +01:00
Son
f049da8c9a Compare mx domains with priority order and not priority value 2021-11-23 14:31:53 +01:00
Son
eeb24f594a Add OLD_UNSUBSCRIBER and support it 2021-11-22 18:17:07 +01:00
Son
55ae61527d user can buy 1-year coupon 2021-11-22 16:30:27 +01:00
Son
2d9f8e83e6 add PADDLE_COUPON_ID to config 2021-11-22 16:28:49 +01:00
Son
b5c2d9ee2a fix custom domain not correctly set on /v2/alias/custom/new and /v3/alias/custom/new 2021-11-22 16:20:50 +01:00
Son
3add9e6db8 make sure to delete Fido when disabling Fido on a user 2021-11-22 15:58:11 +01:00
Son
bd8b9526f6 set Fido.user_id 2021-11-22 15:57:51 +01:00
Son
e4f2e1f5a8 add Fido.user_id column 2021-11-22 15:57:38 +01:00
Son
63e1baf46a can disable both OTP and FIDO 2021-11-22 11:32:14 +01:00
Son
77e38e63fe handle hotmail complaint during reply phase 2021-11-21 11:31:28 +01:00
Son
63f4d15329 do not decrease directory or subdomain quota when user deletes a subdomain/directory 2021-11-20 20:00:35 +01:00
Son
a072fdcd96 do not send emails to disabled user 2021-11-20 19:42:49 +01:00