Commit graph

2644 commits

Author SHA1 Message Date
Son
ce2d2a3b3a fix case where header isn't string 2022-03-25 16:17:58 +01:00
Son
32fd65b69b add more log for alias transfer 2022-03-23 18:33:33 +01:00
Son Nguyen Kim
3d30870395
Merge pull request #849 from acasajus/new/parse-rpamd-headers
Return 200 on fishy dmarc result
2022-03-22 17:36:45 +01:00
Son Nguyen Kim
99b05034b0
Merge pull request #843 from acasajus/new/parse-rpamd-headers
Parse rspamd headers and apply dmarc policy if found.
2022-03-22 17:13:11 +01:00
Adrià Casajús
517bcb632e
MR changes 2022-03-22 17:02:59 +01:00
Son
5b3688b6df set a domain for message-id 2022-03-22 11:02:02 +01:00
Adrià Casajús
5f831d593a
CamelCase to snake_case 2022-03-21 17:59:43 +01:00
Adrià Casajús
45459d65be
PR comments 2022-03-21 17:43:26 +01:00
Son
f554375f23 decode, replace and encode for base64 encoding 2022-03-21 17:29:22 +01:00
Son
1952f368a8 require password to use the api key page 2022-03-21 14:40:47 +01:00
Son
9dc7cff87f add rate limiting for /auth/mfa 2022-03-21 14:23:35 +01:00
Son
a662ef4aee remove g.deduct_limit in api auth endpoint 2022-03-21 14:23:20 +01:00
Adrià Casajús
06a1363e92
Updated MR comments 2022-03-21 12:03:11 +01:00
Adrià Casajús
cdea0f5ee2
Rename header 2022-03-21 10:43:19 +01:00
Adrià Casajús
44dd06fabf
Added spoofed email test 2022-03-21 10:43:18 +01:00
Adrià Casajús
c9cbaeb460
format 2022-03-21 10:43:17 +01:00
Adrià Casajús
e8013f8e0c
Initial parse of rpamd extra headers 2022-03-21 10:43:17 +01:00
Son
0931642d11 use 10.0.0.0 network instead of 240.0.0.0 2022-03-20 10:38:58 +01:00
Son
fa2f83dbf4 fix and refactor 2022-03-16 10:24:59 +01:00
Son
7e0992b767 add mime version header for transactional email 2022-03-14 19:23:38 +01:00
Son Nguyen Kim
79154378f2
Merge pull request #836 from cquintana92/feature/allow-to-edit-manual-subscription
Allow to edit manual subscription
2022-03-14 18:07:07 +01:00
Carlos Quintana
ed58e811d1
Allow to edit manual subscription 2022-03-14 16:47:30 +01:00
Adrià Casajús
479a7420cb
Useful time format 2022-03-14 15:40:50 +01:00
Adrià Casajús
b463ba8f41
Added filter 2022-03-14 15:33:09 +01:00
Adrià Casajús
bf177ac5ba
Remove unused 2022-03-14 15:29:17 +01:00
Adrià Casajús
9b16143e59
Show nicer admin logs 2022-03-14 15:28:53 +01:00
Adrià Casajús
553d8976be
Added extend subscription log 2022-03-14 15:07:51 +01:00
Adrià Casajús
549c6ec7d3
Comment changes 2022-03-11 11:37:14 +01:00
Adrià Casajús
4368fd323f
Less changes 2022-03-10 18:13:33 +01:00
Adrià Casajús
d0860cd54d
Merge remote-tracking branch 'origin/master' into new/admin-audit-trail
* origin/master: (35 commits)
  reduce nb of commit
  show "more" only when a notification has a title. Show either title or message. Use bold font when a notification isn't read
  create a notification when an alias is disabled
  mark a notification as read when user arrives on the notification page
  Use plausible outbound link tracking
  add more log
  fix discover page
  fix
  fix "local variable 'alias_id' referenced before assignment"
  make sure to close session in monitoring
  use Date instead of date for header value
  lessen alias automatic disable check
  refactor
  return the block reason in should_disable()
  add adhoc upgrade on admin
  add extend subscription for 1 month to admin
  disable edition on admin
  comment out some admin pages
  fix migration
  fix duplicated stats
  ...
2022-03-10 18:10:13 +01:00
Adrià Casajús
733efc387c
Updated admin view 2022-03-10 17:49:30 +01:00
Adrià Casajús
98c942d84a
Added admin log view 2022-03-10 17:32:35 +01:00
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
Son
30f2734853 flake8 2021-11-19 18:32:04 +01:00
Son
b2c31ef658 fix the pagination error display 2021-11-19 18:30:36 +01:00
Son
d2ed9337f1 add coupon comment in notification 2021-11-19 16:40:52 +01:00
Son
fdfa286d3e allow contact email to be case sensitive 2021-11-18 16:44:04 +01:00
Son
a17e81a8f1 user can't import csv if current_user.disable_import 2021-11-18 10:51:57 +01:00
Son
6f4c9f6c5a add User.disable_import column 2021-11-18 10:51:13 +01:00
Son
38ecb227b0 reduce subdomain/directory quota when user create/delete subdomain/directory 2021-11-18 10:33:15 +01:00
Son
85c6e791bc add _directory_quota, _subdomain_quota column to User 2021-11-18 10:30:46 +01:00
Son
bccfcee780 add subdomain and directory stats to Metric 2021-11-17 17:43:59 +01:00
Son
ffc04c7fe9 redirect user to subdomain page if a subdomain is deleted 2021-11-17 17:34:53 +01:00
Son
a8c86785d1 make sure a deleted subdomain can't be recreated 2021-11-17 17:21:13 +01:00
Son
5a81c08e32 add DeletedSubdomain model 2021-11-17 17:20:00 +01:00
Son
417f7b92b0 make sure a deleted directory can't be recreated 2021-11-17 17:02:31 +01:00
Son
482aa8614c Create DeletedDirectory model 2021-11-17 17:01:39 +01:00
Son
2ce7f3d445 add coupon.comment column 2021-11-17 11:52:46 +01:00
Son
67377a0f22 do not show subdomains on the domain page 2021-11-17 11:52:33 +01:00
Son
6eb702870c handle the case alias is in trash 2021-11-17 10:56:43 +01:00
Son
9c27f94e8e return only bounce report that can be decoded 2021-11-17 10:54:17 +01:00
Son
abc074ea9b make sure password can't be longer than 100 chars 2021-11-16 19:41:05 +01:00
Son
eaff8b7ff3 remove User.can_use_subdomain column, make subdomain available to all users 2021-11-15 11:16:03 +01:00
Son
790f0ed23c return 250 status when handling bounces 2021-11-13 11:21:19 +01:00
Son
324cc8734b handle the case user mistakenly use a lifetime coupon on the coupon page 2021-11-12 17:53:56 +01:00
Son
416eafaeb9 use the first alias suffix when creating a new random alias 2021-11-12 11:04:00 +01:00
Son
611fb8a20c take into account user.include_website_in_one_click_alias in /api/alias/random/new 2021-11-12 09:45:31 +01:00
Son
293cc74c53 add User.include_website_in_one_click_alias column 2021-11-12 09:44:40 +01:00
Son
2fad942c95 include coupon comment in the notification 2021-11-11 18:22:41 +01:00
Son
5105c0dbee limit the number of subdomains 2021-11-09 10:17:47 +01:00
Son
9f9b470ab8 fix 2021-11-08 11:52:41 +01:00
Son
d7971953ac return error if name too long when updating alias 2021-11-08 11:26:10 +01:00
Son
89648a83dd fix case /mailbox/confirm_change is called in unauthorized user 2021-11-08 11:22:54 +01:00
Son
429683f444 log more data in apple.verify_receipt() 2021-11-06 18:25:15 +01:00
Son
a1fdbc0caa use bigint for Fido.sign_count 2021-11-06 12:40:16 +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
383f633e41 fix active_page 2021-11-05 18:33:14 +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
ef734d7045 add User.can_use_subdomain column 2021-11-05 11:44:04 +01:00
Son
3f1020d5d7 Add CustomDomain.is_sl_subdomain and SLDomain.can_use_subdomain columns 2021-11-05 11:29:10 +01:00
Son
516898af59 move all template files to templates/ 2021-11-04 15:05:22 +01:00
Son
4a47e8c9c6 refactor: move template files to templates/ 2021-11-04 15:00:39 +01:00
Son
0de85fdce3 redirect user directly to the client page if user has already authorized the client 2021-11-04 14:59:01 +01:00
Son
a03d87b62c move files to templates/ 2021-11-04 14:48:56 +01:00
Son
f8b6b20dd8 not create html in send_email if html isn't set 2021-11-04 14:27:33 +01:00
Son
014b7d5b1f improve wording on setting page 2021-11-03 12:36:07 +01:00
Son
0ae40d599a user can block contact directly on the dashboard 2021-11-03 11:29:46 +01:00
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