Son NK
|
0039b4c301
|
disable an alias if the user has too many bounces recently
|
2021-04-16 17:57:25 +02:00 |
|
Son NK
|
cfb52a2eba
|
add price mention on billing page
|
2021-04-12 10:14:35 +02:00 |
|
Son NK
|
5040e7b74b
|
add filters for alias and mailbox admin
|
2021-04-12 10:07:17 +02:00 |
|
Son NK
|
9bfd9ebf07
|
fix
|
2021-04-09 12:46:51 +02:00 |
|
Son NK
|
aad1270e0d
|
free trial account can't create more than MAX_NB_EMAIL_FREE_PLAN aliases
|
2021-04-09 12:40:55 +02:00 |
|
Son NK
|
f45e7b53d0
|
create admin for Client
|
2021-04-06 19:46:38 +02:00 |
|
Son NK
|
f8540808bc
|
remove Client.published
|
2021-04-06 19:46:21 +02:00 |
|
Son NK
|
e42fb0816d
|
Improve SIWSL wording
|
2021-04-06 18:12:06 +02:00 |
|
Son NK
|
ea5281de95
|
automatically show how-to-use
|
2021-04-06 18:10:32 +02:00 |
|
Son NK
|
7c1af6a265
|
improve should_disable(): take into account repetitive bounces
|
2021-04-06 17:24:06 +02:00 |
|
Son NK
|
c715f87526
|
improve SIWSL UI
|
2021-04-06 12:06:46 +02:00 |
|
Son NK
|
9e4ff01b17
|
improve login, register UI
|
2021-04-06 12:06:11 +02:00 |
|
Son NK
|
af9597cf5a
|
improve copy when app isn't approved
|
2021-04-01 18:10:39 +02:00 |
|
Son NK
|
085dec069b
|
allow any redirect_uri if the app isn't approved
|
2021-04-01 18:04:45 +02:00 |
|
Son NK
|
03976ea1c2
|
improve copy in app approval
|
2021-04-01 18:04:35 +02:00 |
|
Son NK
|
9757b12b95
|
user can remove the app link
|
2021-04-01 14:20:13 +02:00 |
|
Son NK
|
efae1710c8
|
extract the app/website to a separate page
|
2021-04-01 14:09:16 +02:00 |
|
Son NK
|
3c4a1413e0
|
Remove ClientUser.nonce
|
2021-04-01 12:49:32 +02:00 |
|
Son NK
|
e6d8815ac5
|
take into account nonce in openid
|
2021-04-01 12:49:23 +02:00 |
|
Son NK
|
da17f51778
|
add AuthorizationCode.nonce
|
2021-04-01 12:35:21 +02:00 |
|
Son NK
|
313b442af7
|
do not display AppId
|
2021-04-01 12:32:14 +02:00 |
|
Son NK
|
36e7cf3fdc
|
add ClientUser.nonce
|
2021-04-01 12:31:37 +02:00 |
|
Son NK
|
46109770fc
|
prettify
|
2021-04-01 11:05:58 +02:00 |
|
Son NK
|
b13c65166f
|
Add OpenID Connect Discovery Document URL
|
2021-04-01 11:05:21 +02:00 |
|
Son NK
|
a90fa49636
|
add submit for approval for app
|
2021-04-01 10:52:51 +02:00 |
|
Son NK
|
c3d57ed6e4
|
reformat code
|
2021-04-01 10:50:53 +02:00 |
|
Son NK
|
7d4e1048af
|
show warning on authorize page for non-approved app
|
2021-04-01 10:50:37 +02:00 |
|
Son NK
|
bbfb69d774
|
Add Client approved, description columns
|
2021-04-01 10:50:11 +02:00 |
|
Son NK
|
eab4f5f7ac
|
prettify app page
|
2021-04-01 10:02:08 +02:00 |
|
Son NK
|
d5de99afe9
|
Restore /alias/custom/new as currently used by safari
|
2021-03-31 14:41:32 +02:00 |
|
Son NK
|
e31e19047c
|
improve admin
|
2021-03-30 19:08:41 +02:00 |
|
Son NK
|
1b41911598
|
remove social login from the login page
|
2021-03-29 16:06:58 +02:00 |
|
Son NK
|
9d5c2e3f80
|
display when subscription ends in admin
|
2021-03-26 12:14:48 +01:00 |
|
Son NK
|
26a087619c
|
support extend manual subscription in admin
|
2021-03-26 12:14:33 +01:00 |
|
Son NK
|
2270ccf35d
|
Add ENABLE_SPAM_ASSASSIN setting
|
2021-03-26 10:00:16 +01:00 |
|
Son NK
|
0bb8f9a227
|
make ALIAS_LIMIT configurable
|
2021-03-26 09:56:04 +01:00 |
|
Son NK
|
1cac625a90
|
restore /v2/alias/custom/new as used by browser extension
|
2021-03-25 19:18:50 +01:00 |
|
Son NK
|
92acf352b6
|
add limiter for random alias creation
|
2021-03-24 17:30:05 +01:00 |
|
Son NK
|
71389b7e09
|
add limiter on custom alias page
|
2021-03-24 16:52:05 +01:00 |
|
Son NK
|
acc285abf0
|
remove /alias/custom/new, /v2/alias/custom/new, refactor test
|
2021-03-24 16:39:49 +01:00 |
|
Son NK
|
0c62ac4b1f
|
set rate limit for creating alias endpoint
|
2021-03-24 16:26:42 +01:00 |
|
Son NK
|
84b4c11086
|
handle UnicodeEncodeError in encode()
|
2021-03-24 10:08:11 +01:00 |
|
Son NK
|
d59cee0bcc
|
improve welcome email
|
2021-03-23 18:47:16 +01:00 |
|
Son NK
|
1600e273dd
|
remove Metric2.name column
|
2021-03-23 10:30:57 +01:00 |
|
Son NK
|
ec1633d0d7
|
create Metric2 model
|
2021-03-23 10:23:40 +01:00 |
|
Son NK
|
7ab64d9768
|
add more logging
|
2021-03-22 15:52:48 +01:00 |
|
Son NK
|
f0fb5108f9
|
show a different message for custom domain alias when deleting
|
2021-03-18 14:45:18 +01:00 |
|
Son NK
|
8b234b63a5
|
add custom domain to AliasInfo
|
2021-03-18 14:44:51 +01:00 |
|
Son NK
|
8bb324e82b
|
propose users to disable an alias instead of deleting it
|
2021-03-18 14:21:26 +01:00 |
|
Son NK
|
91e805a637
|
move js part in index to a separate file
|
2021-03-18 12:34:08 +01:00 |
|
Son NK
|
1187b6dc99
|
update mailbox wording
|
2021-03-18 10:59:45 +01:00 |
|
Son NK
|
c87fe55898
|
POST /api/aliases/:alias_id/contacts: return 200 and existed=true if contact is already added.
|
2021-03-17 20:29:34 +01:00 |
|
Son NK
|
48d7b66803
|
flake8
|
2021-03-17 11:05:26 +01:00 |
|
Son NK
|
66eb93fe53
|
fix sanitize header
|
2021-03-17 10:59:13 +01:00 |
|
Son NK
|
0848405d0c
|
add mention not allowing forward email address
|
2021-03-17 10:27:46 +01:00 |
|
Son NK
|
5cba2eaa38
|
sanitize header
|
2021-03-17 10:23:35 +01:00 |
|
Son NK
|
826e4455cf
|
refactor
|
2021-03-17 10:23:35 +01:00 |
|
Son NK
|
11789559f1
|
move spf_pass(), sl_sendmail() to email_utils.py
|
2021-03-17 10:23:35 +01:00 |
|
Son NK
|
d1d81e6a6d
|
move get_spam_score_async(), get_spam_score() to email/spam.py
|
2021-03-17 10:23:35 +01:00 |
|
Son NK
|
57b2e2d4ab
|
fix handle_batch_import
|
2021-03-16 10:54:00 +01:00 |
|
Son NK
|
9a1dc0240b
|
improve logging
|
2021-03-16 09:17:23 +01:00 |
|
Son NK
|
7ec0405709
|
improve message_id
|
2021-03-16 09:15:59 +01:00 |
|
Son NK
|
98264b14bc
|
replace linebreak in sanitize_email()
|
2021-03-15 19:42:28 +01:00 |
|
Son NK
|
6eb7ebc338
|
add message_id in log to keep track of an email processing
|
2021-03-15 19:41:42 +01:00 |
|
Son Nguyen Kim
|
ca4d097f14
|
Merge pull request #381 from TheLastProject/feature/importExportTests
Feature/import export tests
|
2021-03-15 15:17:58 +01:00 |
|
Sylvia van Os
|
cfe889f7b9
|
Format with black
|
2021-03-13 15:37:28 +01:00 |
|
Sylvia van Os
|
8800c29526
|
Complete import tests
|
2021-03-13 15:36:25 +01:00 |
|
Sylvia van Os
|
dcfd63eb0f
|
Working import tests
|
2021-03-13 00:13:33 +01:00 |
|
Sylvia van Os
|
44ae20816a
|
WIP: Import test
|
2021-03-10 23:08:33 +01:00 |
|
Son
|
cf6442cec2
|
Add PATCH /api/custom_domains/:custom_domain_id
|
2021-03-10 22:56:12 +01:00 |
|
Son
|
eb22a6302e
|
rename creation -> deletion for GET /api/custom_domains/:custom_domain_id/trash
|
2021-03-10 22:39:33 +01:00 |
|
Son
|
6c2daf1bb6
|
add mailboxes to GET /api/custom_domains
|
2021-03-10 22:37:26 +01:00 |
|
Sylvia van Os
|
c6646d5971
|
Add export test
|
2021-03-10 22:35:04 +01:00 |
|
Sylvia van Os
|
1915c8d09d
|
Export and import mailbox info with alias
|
2021-03-09 21:09:58 +01:00 |
|
Son NK
|
3c8ec8fcf2
|
make DKIM_PRIVATE_KEY_PATH optional
|
2021-03-08 15:18:03 +01:00 |
|
Son NK
|
819738f55c
|
remove unused DKIM_PUBLIC_KEY_PATH, DKIM_DNS_VALUE
|
2021-03-08 15:14:37 +01:00 |
|
Son NK
|
3512cc087e
|
remove unused import
|
2021-03-08 14:53:14 +01:00 |
|
Son Nguyen Kim
|
095e2ae0de
|
Merge pull request #377 from TheLastProject/feature/api_export
Add export endpoints
|
2021-03-08 12:18:28 +01:00 |
|
Son NK
|
3768429909
|
use log format that allows clickable link to code source in PyCharm
|
2021-03-08 12:07:45 +01:00 |
|
Sylvia van Os
|
3932ed2eb8
|
Add export endpoints
|
2021-03-06 21:56:42 +01:00 |
|
Son NK
|
39c92110cb
|
add more fields into /api/custom_domains
|
2021-03-06 20:43:50 +01:00 |
|
Son
|
863d8dcbe7
|
black
|
2021-03-06 18:10:41 +01:00 |
|
Son
|
23a0861790
|
Improve alias transfer. Use alias transfer_token. Add a limiter on /alias_transfer/receive
|
2021-03-06 18:08:42 +01:00 |
|
Son
|
29afc1b6b5
|
Add Alias.transfer_token col
|
2021-03-06 18:08:42 +01:00 |
|
Son
|
475eaa2bc0
|
inform user when his alias has been transferred
|
2021-03-06 18:08:42 +01:00 |
|
Son NK
|
9492aaccf5
|
Add EmailLog.auto_replied col
|
2021-03-06 17:44:46 +01:00 |
|
Son
|
80d80657d6
|
remove cloudwatch params
|
2021-03-06 16:09:27 +01:00 |
|
Son NK
|
193f8d8ccc
|
Handle UnicodeDecodeError in get_header_unicode()
|
2021-03-05 20:41:23 +01:00 |
|
Son NK
|
3af98026e3
|
refactor config: do not use eval()
|
2021-03-05 17:26:47 +01:00 |
|
Son NK
|
a65680b5ba
|
remove DEBUG param
|
2021-03-05 17:26:47 +01:00 |
|
Son NK
|
38790fdc84
|
get_alias_infos_with_pagination_v3: handle the case where an alias has 2 contacts that have no activity
|
2021-03-01 18:45:15 +01:00 |
|
Son NK
|
36a117d790
|
rename
|
2021-03-01 18:22:39 +01:00 |
|
Son NK
|
deef432c58
|
add extend trial on user admin page
|
2021-02-25 10:09:02 +01:00 |
|
Son NK
|
3aeaf6fe29
|
make include_sender_in_reverse_alias non nullable
|
2021-02-24 15:44:50 +01:00 |
|
Son NK
|
c9b246259d
|
can search on manual subscription admin page
|
2021-02-24 09:49:08 +01:00 |
|
Son NK
|
0f9cb13920
|
add admin page for manual subscription
|
2021-02-24 09:48:06 +01:00 |
|
Son NK
|
a2dad50d20
|
take into account apple sub
|
2021-02-23 19:40:40 +01:00 |
|
Son NK
|
d4ac2da96a
|
set some fields back to default
|
2021-02-17 13:08:02 +01:00 |
|
Son NK
|
9e486fc2c0
|
add alias transfer
|
2021-02-17 12:56:28 +01:00 |
|
Son NK
|
e19fff3a9a
|
Add Alias.original_owner_id column
|
2021-02-17 12:49:47 +01:00 |
|
Son NK
|
7efce95145
|
add warning for cloudflare when setup DNS
|
2021-02-15 20:21:55 +01:00 |
|
Son NK
|
219703cb04
|
replace monero by crypto
|
2021-02-15 16:40:19 +01:00 |
|
Son NK
|
7879b854a3
|
refactor
|
2021-02-15 16:39:23 +01:00 |
|
Son NK
|
e7063b6514
|
highlight reddit in welcome mail
|
2021-02-12 13:03:31 +01:00 |
|
Son NK
|
dc29c6f9d9
|
improve wording
|
2021-02-12 13:03:31 +01:00 |
|
Son
|
51a38be070
|
Add charity organization upgrade on admin
|
2021-02-03 18:54:42 +01:00 |
|
Son NK
|
25afe4831c
|
ignore amazonses.com encoding
|
2021-01-31 11:52:55 +01:00 |
|
Son NK
|
5f0930b291
|
handle header is None in get_header_unicode
|
2021-01-31 11:50:41 +01:00 |
|
Son NK
|
bbb6049351
|
Add POSTFIX_PORT_FORWARD
|
2021-01-28 13:49:40 +01:00 |
|
Son NK
|
b476e207fa
|
take into account ?next param in login
|
2021-01-27 10:11:48 +01:00 |
|
Son NK
|
66f3585253
|
Add LifetimeCoupon admin page
|
2021-01-27 10:08:49 +01:00 |
|
Son NK
|
e2f729206e
|
replace the iframe video by a link
|
2021-01-27 09:45:42 +01:00 |
|
Son NK
|
5bb0ae0234
|
Set user.sender_format_updated_at when user updates sender_format
|
2021-01-26 20:14:13 +01:00 |
|
Son NK
|
0354943ff4
|
Add User.sender_format_updated_at column
|
2021-01-26 20:13:51 +01:00 |
|
Son NK
|
e85cfebf92
|
do not show sender format that has full sender address
|
2021-01-26 19:55:56 +01:00 |
|
Son NK
|
6547d9420f
|
Use "John Wick - john at wick.com" as default sender format
|
2021-01-26 19:54:59 +01:00 |
|
Son NK
|
4cd49b66c2
|
use VERP for transactional email: remove SENDER, SENDER_DIR
|
2021-01-26 09:59:22 +01:00 |
|
Son NK
|
1013e8dd79
|
Create Bounce, TransactionalEmail models
|
2021-01-26 09:59:22 +01:00 |
|
Son NK
|
4a91db8e11
|
rename parse_email_log_id_from_bounce -> parse_id_from_bounce
|
2021-01-26 09:59:22 +01:00 |
|
Son NK
|
980942a1f9
|
create Metric model
|
2021-01-25 18:47:02 +01:00 |
|
Son NK
|
b0b74906a7
|
add confirm before changing the plan
|
2021-01-25 10:45:18 +01:00 |
|
Son NK
|
2bcd238250
|
Add hint for generic subject
|
2021-01-20 19:17:34 +01:00 |
|
Son NK
|
8e49fc40d4
|
fix
|
2021-01-20 13:28:23 +01:00 |
|
Son NK
|
202f28722e
|
make MAX_SPAM_SCORE, MAX_REPLY_PHASE_SPAM_SCORE configurable
|
2021-01-20 13:27:30 +01:00 |
|
Son NK
|
013a94d1e9
|
fix user delete profile pic
|
2021-01-19 10:47:48 +01:00 |
|
Son NK
|
da53b7fa00
|
Improve should_disable() to take into account last 7 days bounces
|
2021-01-19 10:45:39 +01:00 |
|
Son NK
|
7b9136d951
|
take into account user.profile_picture can be None
|
2021-01-19 09:15:43 +01:00 |
|
Son NK
|
264f41d466
|
Fix Paddle modal not showed up on mobile
|
2021-01-18 17:00:58 +01:00 |
|
Son
|
e75ede969a
|
Ctrl-enter submit the form on custom alias page
|
2021-01-16 19:56:30 +01:00 |
|
Son
|
8a74aee363
|
black
|
2021-01-16 10:55:14 +01:00 |
|
Son
|
f9161dba20
|
Handle "message/rfc822" in replace()
|
2021-01-16 10:45:50 +01:00 |
|
Son NK
|
fd0ba7030d
|
Add the condition of at least 3 months to referral program
|
2021-01-15 17:26:05 +01:00 |
|
Son NK
|
4bfe6d1ac9
|
handle name can be None in get_name_initial()
|
2021-01-15 11:21:45 +01:00 |
|
Son NK
|
c431abd917
|
take into account alias.cannot_be_disabled in should_disable
|
2021-01-13 11:03:30 +01:00 |
|
Son NK
|
79f22857b5
|
add mailbox admin page
|
2021-01-12 18:14:35 +01:00 |
|
Son NK
|
67de0e3c5b
|
set user as default admin page
|
2021-01-12 18:14:21 +01:00 |
|
Son NK
|
d6cc2a4bf3
|
Add AWS_REGION env var
|
2021-01-12 09:54:46 +01:00 |
|
Son NK
|
361945f3f8
|
add cash and monero upgrade in admin
|
2021-01-11 20:24:33 +01:00 |
|
Son NK
|
0e94c329d1
|
handle alias too long error
|
2021-01-11 15:45:41 +01:00 |
|
Son NK
|
13f3deb671
|
fix
|
2021-01-11 15:06:56 +01:00 |
|
Son NK
|
c83b146f14
|
Add BOUNCE_PREFIX, BOUNCE_SUFFIX config
|
2021-01-11 14:51:29 +01:00 |
|
Son NK
|
45ac548e2b
|
reserve bounce, bounces as directory name
|
2021-01-11 14:32:48 +01:00 |
|
Son NK
|
0ee0167b8e
|
fix test
|
2021-01-11 12:31:05 +01:00 |
|
Son NK
|
e9adb3270d
|
use sanitize_email instead of .lower().strip().replace(" ", "")
|
2021-01-11 12:29:40 +01:00 |
|
Son NK
|
01858ac452
|
sanitize contact email
|
2021-01-11 12:27:02 +01:00 |
|
Son NK
|
2293c6d2e3
|
improve admin
|
2021-01-11 12:04:37 +01:00 |
|
Son NK
|
cce08adb87
|
set "" as default name when creating new user
|
2021-01-11 10:25:37 +01:00 |
|
Son NK
|
435ced66bc
|
make User.name nullable
|
2021-01-11 10:24:00 +01:00 |
|
Son NK
|
ef7fae32b1
|
remove the "Hi {name}" from email template
|
2021-01-11 10:23:34 +01:00 |
|
Son NK
|
4293bba5ab
|
add edu upgrade to User admin page
|
2021-01-08 18:53:01 +01:00 |
|
Son NK
|
3ac159d073
|
use text/plain for text email instead of text/text
|
2021-01-04 15:11:12 +01:00 |
|
Son NK
|
8dbaf3cf56
|
Add EmailLog.spam_report column
|
2021-01-04 14:38:32 +01:00 |
|
Son NK
|
b942b44ec8
|
display bounce during reply phase on alias log page
|
2021-01-04 14:25:51 +01:00 |
|
Son NK
|
2b4dc3cdcc
|
when a custom domain is default and has random_prefix_generation enabled, use the random_prefix as the first choice
|
2021-01-02 18:17:53 +01:00 |
|
Son NK
|
3179d70df1
|
ignore text/csv in replace()
|
2020-12-31 18:03:42 +01:00 |
|
Son NK
|
a34af98de8
|
handle "multipart/signed" in add_header()
|
2020-12-31 15:50:03 +01:00 |
|
Son NK
|
ef2624ccea
|
handle multipart/mixed in add_header
|
2020-12-31 15:11:46 +01:00 |
|
Son NK
|
33dd6083c7
|
rename available_suffixes_more_info -> get_available_suffixes
|
2020-12-31 14:27:04 +01:00 |
|
Son NK
|
95f3db6aa5
|
remove available_suffixes()
|
2020-12-31 14:26:07 +01:00 |
|
Son NK
|
5a3b79b4cf
|
replace available_suffixes by available_suffixes_more_info
|
2020-12-31 14:25:44 +01:00 |
|
Son NK
|
7915a2abb9
|
Fix available_suffixes_more_info
|
2020-12-31 14:18:49 +01:00 |
|
Son NK
|
abb3ec1f05
|
rename
|
2020-12-31 14:16:32 +01:00 |
|
Son NK
|
4e20ffcc60
|
update wording: use custom alias to be opposed to random alias
|
2020-12-31 14:15:25 +01:00 |
|
Son NK
|
75d1b090cd
|
rename default_random_alias_public_domain_id -> default_alias_public_domain_id
|
2020-12-31 14:14:56 +01:00 |
|
Son NK
|
e0a414212e
|
rename default_random_alias_domain_id -> default_alias_custom_domain_id
|
2020-12-31 14:06:32 +01:00 |
|
Son NK
|
1647a7a628
|
update settings wording
|
2020-12-31 14:00:21 +01:00 |
|
Son NK
|
b9d8f11f2d
|
put the default domain to top
|
2020-12-31 13:59:03 +01:00 |
|
Son NK
|
66e7aa7242
|
refactor
|
2020-12-31 12:50:04 +01:00 |
|
Son NK
|
0585ba97ee
|
use warning level for "Cannot encrypt using the imported key" error
|
2020-12-31 11:05:11 +01:00 |
|
Son NK
|
74a63db835
|
ignore "text/directory" in replace()
|
2020-12-30 09:48:58 +01:00 |
|
Son NK
|
0df4d1a93d
|
add more logging
|
2020-12-29 12:17:24 +01:00 |
|
Son NK
|
31774f9ea7
|
set include_sender_in_reverse_alias to False by default
|
2020-12-28 10:28:05 +01:00 |
|
Son NK
|
be57add431
|
add list of cryptocurrency that are supported
|
2020-12-19 17:22:04 +01:00 |
|
Son NK
|
9f9d292754
|
remove can_use_coinbase column
|
2020-12-19 16:31:16 +01:00 |
|
Son NK
|
3015cd1dc0
|
ignore "text/calendar" content type
|
2020-12-18 16:07:32 +01:00 |
|
Son NK
|
6cec373b6d
|
ignore UnicodeDecodeError in decode_text()
|
2020-12-18 13:10:33 +01:00 |
|
Son NK
|
fb8a43fd5d
|
use decode_text() in add_header()
|
2020-12-18 10:44:42 +01:00 |
|
Son NK
|
091ff3ad2c
|
Add decode_text()
|
2020-12-18 10:43:06 +01:00 |
|
Son NK
|
3a8cdce650
|
Create should_disable
|
2020-12-16 18:50:09 +01:00 |
|
Son NK
|
830331d9b3
|
improve wording
|
2020-12-14 11:52:35 +01:00 |
|
Son NK
|
b9dba9c2c3
|
improve wording
|
2020-12-14 11:48:08 +01:00 |
|
Son NK
|
3dd8ed7840
|
Create /dashboard/coinbase_checkout, remove extend_subscription route
|
2020-12-14 11:34:59 +01:00 |
|
Son NK
|
f19a7e1bca
|
Add COINBASE_API_KEY and COINBASE_YEARLY_PRICE config
|
2020-12-14 11:33:39 +01:00 |
|
Son NK
|
369c9dafce
|
remove duplicated
|
2020-12-13 19:56:17 +01:00 |
|
Son NK
|
530160567b
|
fix coinbase button not displayed on pricing page
|
2020-12-13 19:51:00 +01:00 |
|
Son NK
|
1348b58672
|
only show coinbase option for user who has can_use_coinbase=True
|
2020-12-13 19:28:46 +01:00 |
|
Son NK
|
1961d2f18e
|
Add User.can_use_coinbase column
|
2020-12-13 19:28:13 +01:00 |
|
Son NK
|
fbe48b7b3e
|
add extend subscription link on settings page
|
2020-12-13 19:14:54 +01:00 |
|
Son NK
|
6c21b83975
|
add coinbase option on pricing page
|
2020-12-13 19:14:11 +01:00 |
|
Son NK
|
436e31229f
|
Create extend_subscription page
|
2020-12-13 19:13:26 +01:00 |
|
Son NK
|
0542adb761
|
Add COINBASE_WEBHOOK_SECRET, COINBASE_CHECKOUT_ID config
|
2020-12-13 19:11:49 +01:00 |
|
Son NK
|
02c74e6a5a
|
take into account Coinbase in can_upgrade(), is_paid(), _lifetime_or_active_subscription()
|
2020-12-13 19:08:06 +01:00 |
|
Son NK
|
9329cf04ad
|
Create CoinbaseSubscription model
|
2020-12-13 19:05:43 +01:00 |
|
Son NK
|
8527fed69e
|
pricing page: improve wording
|
2020-12-13 17:04:05 +01:00 |
|
Son Nguyen Kim
|
bf139f83b3
|
Merge pull request #342 from herrboyer/linting
Linting
|
2020-12-07 17:45:50 +01:00 |
|
Son NK
|
ce3dae2a07
|
inform user when an alias can't be created when a directory is disabled
|
2020-12-07 10:55:13 +01:00 |
|
Son NK
|
37a74bc093
|
refactor: rename
|
2020-12-07 10:50:42 +01:00 |
|
Son NK
|
4fb7b7bd2c
|
user can change directory disabled
|
2020-12-07 10:49:40 +01:00 |
|
Son NK
|
05d4ec1c2f
|
Add directory.disabled column
|
2020-12-07 10:48:43 +01:00 |
|
Son NK
|
a40bbe74fe
|
show include_sender_in_reverse_alias as checked if user hasn't set any value
|
2020-12-07 10:23:36 +01:00 |
|
Renaud Boyer
|
5d948faf56
|
black
|
2020-12-06 22:11:58 +01:00 |
|
Renaud Boyer
|
f2f13958c7
|
linting
|
2020-12-06 22:11:22 +01:00 |
|
Renaud Boyer
|
a2f3aeeece
|
linting
|
2020-12-06 22:10:42 +01:00 |
|
Renaud Boyer
|
2b9cb44cdb
|
linting
|
2020-12-06 22:10:16 +01:00 |
|
Renaud Boyer
|
c09b6ef675
|
linting
|
2020-12-06 22:08:35 +01:00 |
|
Renaud Boyer
|
1c73f07d18
|
linting
|
2020-12-06 22:08:05 +01:00 |
|
Renaud Boyer
|
a8d67f94e2
|
linting
|
2020-12-06 22:07:18 +01:00 |
|
Renaud Boyer
|
f3303ee6bb
|
linting
|
2020-12-06 22:06:03 +01:00 |
|
Renaud Boyer
|
4e93e511ec
|
linting
|
2020-12-06 22:05:13 +01:00 |
|
Renaud Boyer
|
f1fb0ebe1f
|
linting
|
2020-12-06 22:04:21 +01:00 |
|
Renaud Boyer
|
b7e6270a18
|
linting
|
2020-12-06 22:03:47 +01:00 |
|
Renaud Boyer
|
a45b6df78c
|
linting
|
2020-12-06 22:03:06 +01:00 |
|
Renaud Boyer
|
479a9d1a35
|
linting
|
2020-12-06 22:02:18 +01:00 |
|
Renaud Boyer
|
47b1398cad
|
linting
|
2020-12-06 22:01:43 +01:00 |
|
Renaud Boyer
|
4bf22771af
|
linting
|
2020-12-06 22:01:38 +01:00 |
|
Renaud Boyer
|
43d9dbc1fc
|
linting
|
2020-12-06 22:00:01 +01:00 |
|
Son NK
|
b0e39949cb
|
fix embed video on mobile view
|
2020-12-06 19:39:12 +01:00 |
|
Son NK
|
fec281b84f
|
Add include_sender_in_reverse_alias on Setting page
|
2020-12-06 19:38:37 +01:00 |
|
Son NK
|
ce2d68a64d
|
take into account include_sender_in_reverse_alias when creating reverse-alias
|
2020-12-06 19:37:20 +01:00 |
|
Son NK
|
eab09d8c32
|
Add User.include_sender_in_reverse_alias column. Null for existing user, False for new user.
|
2020-12-06 19:36:39 +01:00 |
|
Renaud Boyer
|
7bac9e82b9
|
linting
|
2020-12-06 18:04:29 +01:00 |
|
Renaud Boyer
|
7e1a474875
|
linting
|
2020-12-06 18:02:47 +01:00 |
|
Renaud Boyer
|
1ced8f76b7
|
linting
|
2020-12-06 18:02:23 +01:00 |
|
Renaud Boyer
|
4bcc0d107f
|
linting
|
2020-12-06 18:01:55 +01:00 |
|
Renaud Boyer
|
fad64ff064
|
linting
|
2020-12-06 18:00:41 +01:00 |
|
Renaud Boyer
|
fefbaeb143
|
linting
|
2020-12-06 18:00:06 +01:00 |
|
Renaud Boyer
|
1e5185b328
|
linting
|
2020-12-06 17:59:07 +01:00 |
|
Renaud Boyer
|
bcdb4c08d9
|
linting
|
2020-12-06 17:58:56 +01:00 |
|
Renaud Boyer
|
a46a03be85
|
linting
|
2020-12-06 17:57:10 +01:00 |
|
Son NK
|
83df119178
|
do not replace for "application/*"
|
2020-12-04 11:33:49 +01:00 |
|
Son NK
|
59daaa3164
|
ignore multipart/signed when replacing message
|
2020-12-03 17:52:11 +01:00 |
|
Son NK
|
255a7e085a
|
add index on user_id, mailbox_id, ... if possible
|
2020-12-02 17:33:03 +01:00 |
|
Son NK
|
81f9f9f41b
|
optimize get_stats(): use session.query instead of EmailLog.query
|
2020-12-02 17:30:56 +01:00 |
|
Son NK
|
450b101e6e
|
add /live endpoint
|
2020-12-02 16:34:28 +01:00 |
|
Son NK
|
66abbf2614
|
make sure to remove \n from alias name
|
2020-12-02 12:25:23 +01:00 |
|
Son NK
|
8551dade7c
|
hide replace reverse alias option
|
2020-12-01 18:36:24 +01:00 |
|
Son NK
|
cd680bcd7f
|
ignore content type like image/, video/, audio/ in replace()
|
2020-12-01 18:34:38 +01:00 |
|
Son NK
|
2107bd4b08
|
remove Black Friday promo
|
2020-12-01 10:07:53 +01:00 |
|
Son NK
|
652bb6a369
|
take into account multipart/mixed in replace()
|
2020-11-30 19:45:45 +01:00 |
|
Son NK
|
692c81ac2a
|
add warning about Gmail issue if reverse-alias replacement option
|
2020-11-30 19:16:10 +01:00 |
|
Son NK
|
cefa68d392
|
Create replace() in email_utils
|
2020-11-30 15:15:13 +01:00 |
|
Son NK
|
0b95ca33b8
|
use no encoding for 8bit and binary
|
2020-11-30 10:49:04 +01:00 |
|
Son NK
|
f804332c2d
|
refactor: create EmailEncoding enum
|
2020-11-30 10:48:16 +01:00 |
|
Son NK
|
86636b2eb7
|
fix delete user profile picture
|
2020-11-27 16:36:21 +01:00 |
|
Son NK
|
d61f45ea86
|
use 7bit as default encoding
|
2020-11-26 17:22:17 +01:00 |
|
Son NK
|
1241838b26
|
take into account message encoding in add_header()
|
2020-11-26 17:03:50 +01:00 |
|
Son NK
|
e2a7061429
|
add get_encoding() and encode_text()
|
2020-11-26 17:01:05 +01:00 |
|
Son NK
|
d35faf7154
|
comment out paddle issue annoucement
|
2020-11-26 10:39:44 +01:00 |
|
Son NK
|
adfbfe8026
|
Use load_public_key_and_check when adding new PGP key
|
2020-11-26 10:27:32 +01:00 |
|
Son NK
|
5b9eb8686a
|
add id to mailbox repr
|
2020-11-26 10:08:09 +01:00 |
|
Son NK
|
03383eb181
|
display Paddle issue as announcement on pricing page
|
2020-11-25 17:43:02 +01:00 |
|
Son NK
|
ca625e60d5
|
fix add pgp
|
2020-11-25 17:29:54 +01:00 |
|
Son NK
|
bb8c9451c4
|
catch all exception in load_public_key()
|
2020-11-25 14:31:14 +01:00 |
|
Son NK
|
4381314f6f
|
preload email_log.mailbox
|
2020-11-24 21:51:25 +01:00 |
|
Son NK
|
297857a140
|
Remove _MAILBOX_ID_HEADER
|
2020-11-24 16:50:55 +01:00 |
|
Son NK
|
6b07be5677
|
add email_log.mailbox_id column
|
2020-11-24 16:35:16 +01:00 |
|
Son NK
|
bcb2657de3
|
add remove button on custom domain name
|
2020-11-24 12:02:47 +01:00 |
|
Son NK
|
3d75ef974a
|
user can turn on/off pgp on mailbox that has valid pgp_finger_print
|
2020-11-24 11:22:41 +01:00 |
|
Son NK
|
cbbb472d06
|
refactor
|
2020-11-24 11:22:41 +01:00 |
|
Son NK
|
c707342695
|
Use pgp_enabled() instead of pgp_finger_print
|
2020-11-24 11:22:41 +01:00 |
|
Son NK
|
5997e5b5b5
|
add Mailbox.disable_pgp column
|
2020-11-24 11:22:41 +01:00 |
|
Son NK
|
33e6342a9c
|
use warning log when user uses premium domain
|
2020-11-23 10:43:50 +01:00 |
|
Son NK
|
836b602316
|
fix
|
2020-11-22 13:50:57 +01:00 |
|
Son NK
|
bcdf522174
|
create normalize_reply_email(): handle case where reply email contains space, quote, etc
|
2020-11-22 13:07:09 +01:00 |
|
Son NK
|
a1d5b01143
|
make sure mailbox email is valid
|
2020-11-22 12:18:31 +01:00 |
|
Son NK
|
fbf242f6c6
|
handle new name can be null
|
2020-11-22 12:10:19 +01:00 |
|
Son NK
|
f069d2f083
|
use getaddresses to parse multiple address from To, CC header. Remove get_addrs_from_header()
|
2020-11-21 19:15:02 +01:00 |
|
Son NK
|
8aed5ced3f
|
make sure a custom domain name does not contain a linebreak
|
2020-11-20 18:40:07 +01:00 |
|
Son NK
|
78ddf16c87
|
make sure alias name does not contain a linebreak
|
2020-11-20 18:39:23 +01:00 |
|
Son NK
|
c25a5b50f6
|
make sure reply_email only contain lowercase
|
2020-11-20 10:03:40 +01:00 |
|
Son NK
|
75c3fa1c11
|
make sure reply-email only uses ascii-encoded char
|
2020-11-18 15:36:39 +01:00 |
|
Son NK
|
ed22701cbe
|
fix duplicate pinned alias in get_alias_infos_with_pagination_v3
|
2020-11-18 12:08:36 +01:00 |
|
Son NK
|
9ca129cb97
|
use warning level for cannot decode error
|
2020-11-18 11:43:25 +01:00 |
|
Son NK
|
5b9dc88c67
|
make sure alias prefix cannot be more than 40 chars
|
2020-11-18 10:38:35 +01:00 |
|
Son NK
|
0224e5f8a6
|
Fix SpamAssassin: init all class fields
|
2020-11-18 10:28:32 +01:00 |
|
Son NK
|
319078fceb
|
use contact email when generating reply-email
|
2020-11-18 10:24:39 +01:00 |
|
Son NK
|
0963049d1f
|
use utf-8 when unknown charset in parseaddr_unicode()
|
2020-11-18 10:03:58 +01:00 |
|
Son NK
|
28d42a7a22
|
Use get_header_unicode() in get_addrs_from_header()
|
2020-11-18 10:03:00 +01:00 |
|
Son NK
|
be510ea1d7
|
use utf-8 if unknown charset in get_header_unicode()
|
2020-11-18 10:02:10 +01:00 |
|
Son NK
|
6ed6218895
|
black
|
2020-11-17 09:27:45 +01:00 |
|
Son NK
|
145fc9c67c
|
Add reverse_alias_address to GET /api/aliases/:alias_id/activities
|
2020-11-17 09:27:30 +01:00 |
|
Son NK
|
aada12f17e
|
return reverse_alias_address in POST /api/aliases/:alias_id/contacts and GET /api/aliases/:alias_id/contacts
|
2020-11-16 19:39:00 +01:00 |
|
Son NK
|
9154b4656d
|
refactor: create is_reply_email()
|
2020-11-16 19:22:19 +01:00 |
|
Son NK
|
3d153f5203
|
make sure user can't choose "ra" as directory name
|
2020-11-16 19:18:33 +01:00 |
|
Son NK
|
1926408a13
|
Add dns_utils.get_ns()
|
2020-11-16 19:16:06 +01:00 |
|
Son NK
|
75ba1669e0
|
Create generate_reply_email() and refactor
|
2020-11-16 19:15:09 +01:00 |
|
Son NK
|
15a6d9630a
|
Handle sender_format in PATCH /api/setting
|
2020-11-15 19:43:37 +01:00 |
|
Son NK
|
c794e73abd
|
Add EnumE.has_name(), EnumE.get_value()
|
2020-11-15 19:43:01 +01:00 |
|
Son NK
|
f0f81930bc
|
Return "sender_format" in GET /api/setting
|
2020-11-15 19:35:07 +01:00 |
|
Son NK
|
d8c9078708
|
Add EnumE.get_name()
|
2020-11-15 19:34:00 +01:00 |
|
Son NK
|
aee917a3ef
|
Add GET /api/custom_domains/:custom_domain_id/trash
|
2020-11-15 19:24:54 +01:00 |
|
Son NK
|
de495b9afe
|
return nb_alias in GET /api/custom_domains
|
2020-11-15 19:13:00 +01:00 |
|
Son NK
|
9d24b1b88a
|
GET /api/custom_domains
|
2020-11-15 19:09:25 +01:00 |
|
Son NK
|
f6568aca6a
|
Return pinned in GET /api/aliases/:alias_id, GET /api/v2/aliases
|
2020-11-15 19:01:11 +01:00 |
|
Son NK
|
f500a495b7
|
User can pin an alias
|
2020-11-15 18:46:43 +01:00 |
|
Son NK
|
ae05c164c9
|
Support pinned in PATCH /api/aliases/:alias_id
|
2020-11-15 18:46:27 +01:00 |
|
Son NK
|
6c7018dd33
|
Take into account pinned alias in get_alias_infos_with_pagination_v3
|
2020-11-15 18:42:29 +01:00 |
|
Son NK
|
abf50e302b
|
Add Alias.pinned column
|
2020-11-15 18:38:07 +01:00 |
|
Son NK
|
08902bf784
|
small style refactor
|
2020-11-15 18:31:10 +01:00 |
|
Son NK
|
9cfb6d412a
|
Add /api/v5/alias/options
|
2020-11-14 16:45:22 +01:00 |
|