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 |
|