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 |
|
Son Nguyen Kim
|
0b127216ee
|
user can set custom_domain.auto_create_regex
|
2021-09-17 17:41:36 +02:00 |
|
Son Nguyen Kim
|
58d36e9cd8
|
add CustomDomain.auto_create_regex column
|
2021-09-17 17:35:36 +02:00 |
|
Son Nguyen Kim
|
b990c052ac
|
move domain mailboxes to domain detail page and only enable it if catch-all is on
|
2021-09-17 11:54:37 +02:00 |
|
Son Nguyen Kim
|
512ade83b4
|
improve wording & styling on custom domain info page
|
2021-09-17 11:38:07 +02:00 |
|
Son Nguyen Kim
|
785a619385
|
Add debug_info decorator
|
2021-09-17 10:31:26 +02:00 |
|
Son Nguyen Kim
|
da0ddd5a34
|
Merge pull request #619 from Dattito/fix-wrong-description-of-error
fixed wrong description of error
|
2021-09-15 11:23:11 +02:00 |
|
Son Nguyen Kim
|
695a628e68
|
save email that can't be DKIM signed to temp dir to investigate
|
2021-09-15 09:29:08 +02:00 |
|
Son Nguyen Kim
|
3441d2ccf1
|
add new param TEMP_DIR
|
2021-09-15 09:28:08 +02:00 |
|
David Siregar
|
1cc8f7f2e3
|
fixed wrong description of error
|
2021-09-14 21:28:51 +02:00 |
|
Son Nguyen Kim
|
567bee9a0b
|
add exception trace when dkim fails
|
2021-09-14 09:13:39 +02:00 |
|
Son Nguyen Kim
|
e4ed192cce
|
rename
|
2021-09-13 19:50:15 +02:00 |
|
Son Nguyen Kim
|
106358da5f
|
handle yahoo complaint
|
2021-09-13 19:49:40 +02:00 |
|
Son Nguyen Kim
|
b3012376c3
|
use another DKIM header if one fails
|
2021-09-13 16:04:32 +02:00 |
|
Son Nguyen Kim
|
6e42e536db
|
ignore email sent from a mailbox to its alias if user.ignore_loop_email
|
2021-09-10 18:15:22 +02:00 |
|
Son Nguyen Kim
|
62044e6db1
|
Add User.ignore_loop_email column
|
2021-09-10 18:14:51 +02:00 |
|
Son Nguyen Kim
|
4949afc791
|
black
|
2021-09-10 17:42:07 +02:00 |
|
Son Nguyen Kim
|
e5a388dffb
|
optimize import
|
2021-09-10 17:37:33 +02:00 |
|
Son Nguyen Kim
|
61d9f7ee43
|
refactor
|
2021-09-10 17:31:29 +02:00 |
|
Son Nguyen Kim
|
41478a5715
|
replace parseaddr_unicode by parse_full_address
|
2021-09-10 17:26:14 +02:00 |
|
Son Nguyen Kim
|
638e8137ec
|
fix test
|
2021-09-10 17:10:05 +02:00 |
|
Son Nguyen Kim
|
3ad4b6b76f
|
use flanker instead of parseaddr_unicode
|
2021-09-10 17:06:38 +02:00 |
|
Son Nguyen Kim
|
8023afe9be
|
use email_validator instead of validate_email which isn't updated for a while
|
2021-09-10 16:42:02 +02:00 |
|
Son Nguyen Kim
|
6b65e00dcf
|
install flanker, upgrade email_validator
|
2021-09-10 16:36:59 +02:00 |
|
Son Nguyen Kim
|
defd7b159d
|
Fix get_header_unicode: handle the case header contains several parts
|
2021-09-09 11:47:01 +02:00 |
|
Son Nguyen Kim
|
4df83f953d
|
handle utf-8 decoding fail
|
2021-09-08 15:17:11 +02:00 |
|
Son Nguyen Kim
|
5ac78f2694
|
reformat
|
2021-09-08 11:29:55 +02:00 |
|
Son Nguyen Kim
|
41f10373d1
|
add plan info
|
2021-09-08 10:51:47 +02:00 |
|
Son Nguyen Kim
|
f3cff1f1bf
|
create manual subscription using the coupon.is_giveaway info
|
2021-09-07 15:36:19 +02:00 |
|
Son Nguyen Kim
|
d9f44437da
|
add Coupon.is_giveaway column
|
2021-09-07 15:35:55 +02:00 |
|
Son Nguyen Kim
|
48838eb176
|
add highlighted alias in case it's not included in the result
|
2021-09-07 15:22:50 +02:00 |
|
Son Nguyen Kim
|
b2ac1b537d
|
add only pinned alias filter
|
2021-09-07 15:10:37 +02:00 |
|
Son Nguyen Kim
|
6dd6b74073
|
black
|
2021-09-07 11:13:28 +02:00 |
|
Son Nguyen Kim
|
b53da25a41
|
handle hotmail complaint
|
2021-09-06 19:44:18 +02:00 |
|
Son Nguyen Kim
|
ccb526faa1
|
blur out other aliases when an alias is highlighted
|
2021-09-06 19:12:31 +02:00 |
|
Son Nguyen Kim
|
1df5bec8df
|
use parsleyjs instead of formbouncerjs
|
2021-09-06 18:51:50 +02:00 |
|
Son Nguyen Kim
|
ffd2ec5e81
|
add filter by directory on dashboard
|
2021-09-05 19:11:05 +02:00 |
|
Son Nguyen Kim
|
3faf5c921d
|
add admin for custom domain
|
2021-08-24 19:43:32 +02:00 |
|
Son Nguyen Kim
|
ef6388887f
|
better filter app
|
2021-08-21 17:56:23 +02:00 |
|
Son Nguyen Kim
|
d6e48ea2e4
|
Merge pull request #593 from boarwell/keyboard-focusable
Re: Make the "Create" button focusable with keyboard
|
2021-08-21 16:25:20 +02:00 |
|
Son Nguyen Kim
|
40915ad741
|
make alias description font smaller
|
2021-08-21 16:18:01 +02:00 |
|
Son Nguyen Kim
|
4b184998bc
|
make alias note always visible. Rename it to description
|
2021-08-21 16:11:17 +02:00 |
|
Son Nguyen Kim
|
b5c827c2ea
|
handle case user already has an active subscription via another channel (Paddle, Apple, etc) on coupon page
|
2021-08-21 16:04:32 +02:00 |
|
Son Nguyen Kim
|
513f5cd4fb
|
rename
|
2021-08-21 15:55:22 +02:00 |
|
boarwell
|
8519d06639
|
make the "Create" button focusable with keyboard
fix https://github.com/simple-login/app/pull/561#issuecomment-899102494
|
2021-08-21 01:09:40 +09:00 |
|
Son Nguyen Kim
|
bae9a6f431
|
flake8
|
2021-08-20 16:09:22 +02:00 |
|
Son Nguyen Kim
|
76c1b3d807
|
use deepcopy instead of email.message_from_string in copy()
|
2021-08-20 16:03:22 +02:00 |
|
Son Nguyen Kim
|
51578ce934
|
add filter by mailbox
|
2021-08-20 12:21:27 +02:00 |
|
Son Nguyen Kim
|
b606d35c11
|
add pg_trgm index on Alias.note to speed up LIKE search
|
2021-08-20 12:14:20 +02:00 |
|
Son
|
009e1edced
|
also support substring search
|
2021-08-19 18:07:11 +02:00 |
|
Son
|
d8cb327b6e
|
fix search
|
2021-08-19 17:47:10 +02:00 |
|
Son Nguyen Kim
|
59e4dbb6a6
|
fix error display on domain ownership check
|
2021-08-17 19:39:58 +02:00 |
|
Son Nguyen Kim
|
9c6f3989a0
|
remove hack
|
2021-08-17 19:19:49 +02:00 |
|
Son Nguyen Kim
|
aa041708e3
|
add ownership verification via TXT record
|
2021-08-17 19:05:12 +02:00 |
|
Son Nguyen Kim
|
f4fead2542
|
generate a domain ownership txt token if needed
|
2021-08-17 19:03:15 +02:00 |
|
Son Nguyen Kim
|
52e2e67081
|
add CustomDomain ownership_verified, ownership_txt_token column. Set ownership_verified=True for domain that has verified=True
|
2021-08-17 19:02:35 +02:00 |
|
Son
|
e03f9d2342
|
black
|
2021-08-15 22:17:49 +02:00 |
|
Son
|
cc86f698ee
|
add login_as to admin
|
2021-08-15 22:14:52 +02:00 |
|
Son
|
800e866663
|
fix the alias creation not working
|
2021-08-15 18:18:23 +02:00 |
|
Son
|
1678945d5a
|
improve wording
|
2021-08-15 17:58:49 +02:00 |
|
Son
|
0f4ad1a0d4
|
black
|
2021-08-15 17:56:31 +02:00 |
|
Son
|
e5308932a2
|
make mailbox deletion async
|
2021-08-15 17:50:47 +02:00 |
|
Son
|
1384ccc459
|
remove RESET_DB config
|
2021-08-15 17:32:33 +02:00 |
|
boarwell
|
e0da867b4a
|
make the "Create" button focusable with keyboard
|
2021-08-09 16:49:03 +09:00 |
|
Son Nguyen Kim
|
2e9b288d7b
|
optimize get_alias_infos_with_pagination_v3 when searching on mailbox email
|
2021-08-06 09:18:14 +02:00 |
|
Son Nguyen Kim
|
006a7b1420
|
black
|
2021-08-06 08:46:38 +02:00 |
|
Son Nguyen Kim
|
2f8f354f28
|
fix error with match(): use plainto_tsquery instead
|
2021-08-05 19:44:13 +02:00 |
|
Son Nguyen Kim
|
91d3d11452
|
update wording
|
2021-08-05 17:37:35 +02:00 |
|
Son Nguyen Kim
|
9eb3c7cf2c
|
use Alias.ts_vector instead of note when returning alias
|
2021-08-04 09:30:12 +02:00 |
|
Son Nguyen Kim
|
2b048543d3
|
add Alias.ts_vector column to use full text search
|
2021-08-04 09:29:56 +02:00 |
|
Son Nguyen Kim
|
e2fea3aed8
|
Revert "add index for Alias name and email column"
This reverts commit 35a9a723aa .
|
2021-08-04 09:01:59 +02:00 |
|
Son Nguyen Kim
|
35a9a723aa
|
add index for Alias name and email column
|
2021-08-04 08:57:13 +02:00 |
|
Son Nguyen Kim
|
b9d1d10473
|
Revert "add some indexes to speed up search by query"
This reverts commit e9538a62be .
|
2021-08-04 08:56:11 +02:00 |
|
Son Nguyen Kim
|
e9538a62be
|
add some indexes to speed up search by query
|
2021-08-03 19:13:48 +02:00 |
|
Son Nguyen Kim
|
fb29503b81
|
do not send bounce to IgnoreBounceSender
|
2021-08-02 11:33:58 +02:00 |
|
Son Nguyen Kim
|
6dac717c75
|
Add IgnoreBounceSender model
|
2021-08-02 11:30:29 +02:00 |
|
Son Nguyen Kim
|
383cd49f25
|
fix year copyright in email
|
2021-07-30 17:05:16 +02:00 |
|
Son Nguyen Kim
|
9968cbfa8e
|
make sure user cancels the Paddle subscription before deleting their account
|
2021-07-29 12:09:40 +02:00 |
|
Son Nguyen Kim
|
1cca7d4025
|
prettify UI
|
2021-07-29 10:14:13 +02:00 |
|
Son Nguyen Kim
|
5821bd6512
|
Create HibpNotifiedAlias to store all notified aliases
|
2021-07-29 09:41:46 +02:00 |
|
Son Nguyen Kim
|
5aef6cceb2
|
Add description, date column to Hibp model
|
2021-07-29 08:51:21 +02:00 |
|
Son Nguyen Kim
|
dc83c3dd9e
|
Add filter for Only Aliases Found In Data Breaches
|
2021-07-29 08:45:52 +02:00 |
|
Son Nguyen Kim
|
77c993b864
|
remove unused get_alias_infos_with_pagination_v2
|
2021-07-28 18:48:10 +02:00 |
|
Son Nguyen Kim
|
52376484a5
|
Add nb_block_last_24h, nb_bounced_last_24h, nb_forward_last_24h, nb_reply_last_24h
|
2021-07-28 18:31:59 +02:00 |
|
Son Nguyen Kim
|
39e2750486
|
remove Metric
|
2021-07-28 18:20:18 +02:00 |
|
Son Nguyen Kim
|
8e72d79837
|
add coupon page on the pricing page
|
2021-07-25 10:58:41 +02:00 |
|