Son
|
4d8c89105f
|
GET /api/phone/reservations/:reservation_id
|
2022-01-04 16:22:41 +01:00 |
|
Son
|
325207d6ba
|
Use InvalidMailboxDomain instead of DISPOSABLE_EMAIL_DOMAINS
|
2022-01-03 10:33:21 +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
|
a270c72d60
|
add random_alias_suffix to settings api
|
2021-12-28 15:24:58 +01:00 |
|
Son
|
fc42db43ca
|
add new sender formats: NAME_ONLY, AT_ONLY, NO_NAME
|
2021-12-28 10:49:37 +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
|
226ce9333c
|
return error if invalid alias address
|
2021-12-02 16:17:41 +01:00 |
|
Son
|
f049da8c9a
|
Compare mx domains with priority order and not priority value
|
2021-11-23 14:31:53 +01:00 |
|
Son
|
adb376525f
|
flake8
|
2021-11-18 10:33:38 +01:00 |
|
Son
|
38ecb227b0
|
reduce subdomain/directory quota when user create/delete subdomain/directory
|
2021-11-18 10:33:15 +01:00 |
|
Son
|
a8c86785d1
|
make sure a deleted subdomain can't be recreated
|
2021-11-17 17:21:13 +01:00 |
|
Son
|
417f7b92b0
|
make sure a deleted directory can't be recreated
|
2021-11-17 17:02:31 +01:00 |
|
Son
|
abc074ea9b
|
make sure password can't be longer than 100 chars
|
2021-11-16 19:41:05 +01:00 |
|
Son
|
6012b6ff54
|
rename file
|
2021-11-16 19:39:51 +01:00 |
|
Son
|
416eafaeb9
|
use the first alias suffix when creating a new random alias
|
2021-11-12 11:04:00 +01:00 |
|
Son
|
bb5259ac3f
|
fix test
|
2021-11-12 10:00:01 +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
|
4c87e4ce68
|
improve test
|
2021-11-08 12:57:03 +01:00 |
|
Son
|
31e39314d5
|
return "block_forward" for /api/aliases/{alias.id}/contacts
|
2021-11-02 15:55:16 +01:00 |
|
Son
|
caa8656748
|
create /dashboard/block_contact/:contact_id
|
2021-11-02 15:30:18 +01:00 |
|
Son
|
fd7d9969f8
|
create a test for unsubscribe
|
2021-11-02 15:20:33 +01:00 |
|
Son
|
ebe727dc53
|
skip test_can_be_used_as_personal_email
|
2021-10-28 19:00:41 +02:00 |
|
Son
|
bc4805b1fa
|
Add POST /api/contacts/:contact_id/toggle
|
2021-10-28 10:14:20 +02:00 |
|
Son
|
8680c0a739
|
do do not use the ra+ prefix for reverse alias
|
2021-10-25 14:33:42 +02:00 |
|
Son
|
ad24f19cd6
|
rename words.txt to test_words.txt
|
2021-10-23 17:29:37 +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
|
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
|
462164ff16
|
use tldextract to extract hostname
|
2021-10-18 11:45:48 +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
|
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
|
3bdeda3e04
|
add get_mailbox_bounce_info()
|
2021-10-14 15:10:16 +02:00 |
|
Son
|
b9d26d46f6
|
fix test
|
2021-10-12 15:11:25 +02:00 |
|
Son
|
eb0e327402
|
remove "with app.app_context():"
|
2021-10-12 14:47:01 +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
|
ba6ed3cba7
|
black
|
2021-10-03 19:44:39 +02:00 |
|
Son
|
d622d95c35
|
fix test 2
|
2021-10-03 19:36:30 +02:00 |
|
Son
|
931e924f8c
|
fix test
|
2021-10-03 19:34:51 +02:00 |
|
Son Nguyen Kim
|
0aa3dff38b
|
handle case pg_trgm can't be dropped when running test
|
2021-09-20 12:28:12 +02:00 |
|
Son Nguyen Kim
|
153831ed1a
|
remove obsolete sender formats
|
2021-09-20 12:27:36 +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
|
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
|
defd7b159d
|
Fix get_header_unicode: handle the case header contains several parts
|
2021-09-09 11:47:01 +02:00 |
|
Son Nguyen Kim
|
51578ce934
|
add filter by mailbox
|
2021-08-20 12:21:27 +02:00 |
|
Son Nguyen Kim
|
00b3d716b7
|
load pg_trgm when running test
|
2021-08-20 12:20:38 +02:00 |
|
Son
|
d9c682a23e
|
remove sqlite everywhere, only use postgres. Do not use 5432 port to avoid conflict
|
2021-08-15 17:41:16 +02:00 |
|
Son
|
1384ccc459
|
remove RESET_DB config
|
2021-08-15 17:32:33 +02:00 |
|
Son Nguyen Kim
|
a13953e13f
|
add postgres to github action
|
2021-08-06 08:54:24 +02:00 |
|
Son Nguyen Kim
|
07c912fd35
|
use postgres database in test instead of sqlite
|
2021-08-06 08:50:10 +02:00 |
|
Son Nguyen Kim
|
348c2271c6
|
fix test
|
2021-08-06 08:46:34 +02:00 |
|
Son Nguyen Kim
|
264bab965a
|
fix test
|
2021-08-05 19:49:36 +02:00 |
|
Son Nguyen Kim
|
012c6fc3fb
|
replace get(1) by first()
|
2021-08-05 19:44:56 +02:00 |
|
Son Nguyen Kim
|
fb29503b81
|
do not send bounce to IgnoreBounceSender
|
2021-08-02 11:33:58 +02:00 |
|
Son Nguyen Kim
|
d181cd49dd
|
Sign the whole Alias Suffix Info instead of just the suffix
|
2021-07-19 20:14:59 +02:00 |
|
Son Nguyen Kim
|
e26287a4c7
|
Revert "disable should_disable() for now"
This reverts commit fb88654d84 .
|
2021-07-14 12:23:02 +02:00 |
|
Son Nguyen Kim
|
fb88654d84
|
disable should_disable() for now
|
2021-07-13 17:24:28 +02:00 |
|
Son Nguyen Kim
|
183449e38b
|
fix test
|
2021-07-11 15:00:47 +02:00 |
|
Son Nguyen Kim
|
1e4746dfe5
|
fix test
|
2021-07-11 15:00:22 +02:00 |
|
Son Nguyen Kim
|
f97b18e60a
|
fill up EmailLog.alias_id when creating new EmailLog
|
2021-07-11 12:28:42 +02:00 |
|
Son NK
|
6532e0de93
|
Return 550 instead of 421 when rate limited. Rename greylisting to rate limit
|
2021-06-24 09:47:01 +02:00 |
|
Son NK
|
b84eb13ab5
|
Discard ignored email
Create IgnoredEmail model
|
2021-06-22 17:52:24 +02:00 |
|
Son
|
6bc093df3f
|
fix test
|
2021-06-17 23:54:14 +02:00 |
|
Son
|
e14e697207
|
fix flake8
|
2021-06-17 23:24:07 +02:00 |
|
Son NK
|
3e1f098c79
|
fix test
|
2021-06-05 17:48:41 +02:00 |
|
Son NK
|
79d0ef8906
|
Use Postfix queue-id as log message-id
|
2021-06-04 17:15:59 +02:00 |
|
Son NK
|
62683a221a
|
black
|
2021-06-02 18:48:35 +02:00 |
|
Son Nguyen Kim
|
b14d79c8f7
|
Merge pull request #496 from nbraud/pw_hash/refactor
Fix minor issues with password-handling, refactor
|
2021-06-02 18:33:56 +02:00 |
|
Son NK
|
eb2adc870a
|
make sure only premium user can create new mailbox via API
|
2021-06-02 17:17:28 +02:00 |
|
nicoo
|
d216812f14
|
tests/api/auth: Use a pw showing Unicode issues
|
2021-05-27 22:16:07 +02:00 |
|
nicoo
|
f5f4d46aa4
|
tests/api/test_auth_login: Refactor
Have a single “login success” test, for both MFA and no-MFA cases.
No functional change to the test.
|
2021-05-26 19:05:26 +02:00 |
|
Son NK
|
73555ad524
|
generate mail_from during reply phase using BOUNCE_PREFIX_FOR_REPLY_PHASE
|
2021-05-25 17:59:40 +02:00 |
|
Son NK
|
ade07f9449
|
return empty name when name can't be decoded
|
2021-05-22 16:47:44 +02:00 |
|
Son NK
|
0039b4c301
|
disable an alias if the user has too many bounces recently
|
2021-04-16 17:57:25 +02:00 |
|
Son NK
|
f8540808bc
|
remove Client.published
|
2021-04-06 19:46:21 +02:00 |
|
Son NK
|
7c1af6a265
|
improve should_disable(): take into account repetitive bounces
|
2021-04-06 17:24:06 +02:00 |
|
Son NK
|
be5cdc59ba
|
fix test
|
2021-04-06 15:19:28 +02:00 |
|
Son NK
|
17cb4462e3
|
fix test
|
2021-04-01 18:17:27 +02:00 |
|
Son NK
|
d5de99afe9
|
Restore /alias/custom/new as currently used by safari
|
2021-03-31 14:41:32 +02: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
|
e46e3b1c01
|
fix test
|
2021-03-24 16:51:23 +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
|
6435d951e1
|
refactor test
|
2021-03-24 16:11:22 +01:00 |
|
Son NK
|
10cc61b4a0
|
refactor test
|
2021-03-24 15:54:03 +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 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
|
e02d95216f
|
Remove unused imports and var assignments
|
2021-03-13 15:46:12 +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 |
|
Son NK
|
819738f55c
|
remove unused DKIM_PUBLIC_KEY_PATH, DKIM_DNS_VALUE
|
2021-03-08 15:14:37 +01:00 |
|
Son NK
|
157b7adbda
|
improve logging
|
2021-03-08 12:11:47 +01:00 |
|
Son NK
|
39c92110cb
|
add more fields into /api/custom_domains
|
2021-03-06 20:43:50 +01:00 |
|
Son
|
80d80657d6
|
remove cloudwatch params
|
2021-03-06 16:09:27 +01:00 |
|
Son NK
|
3af98026e3
|
refactor config: do not use eval()
|
2021-03-05 17:26:47 +01:00 |
|
Son NK
|
a536a34a0b
|
remove unused import
|
2021-03-01 18:46:15 +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
|
9030d8b543
|
flake8
|
2021-02-17 13:01:28 +01:00 |
|
Son NK
|
9e486fc2c0
|
add alias transfer
|
2021-02-17 12:56:28 +01:00 |
|
Son NK
|
01aa733fe8
|
fix test
|
2021-01-26 20:06:39 +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
|
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
|
c83b146f14
|
Add BOUNCE_PREFIX, BOUNCE_SUFFIX config
|
2021-01-11 14:51:29 +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
|
c252665e46
|
flake8
|
2020-12-31 14:40:43 +01:00 |
|
Son NK
|
33dd6083c7
|
rename available_suffixes_more_info -> get_available_suffixes
|
2020-12-31 14:27:04 +01:00 |
|
Son NK
|
5a3b79b4cf
|
replace available_suffixes by available_suffixes_more_info
|
2020-12-31 14:25:44 +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
|
b9d8f11f2d
|
put the default domain to top
|
2020-12-31 13:59:03 +01:00 |
|
Son NK
|
b3d1085e0c
|
fix test
|
2020-12-18 16:52:03 +01:00 |
|
Son NK
|
10f15f78c8
|
optimize import
|
2020-12-18 16:25:30 +01:00 |
|
Son NK
|
8111beb6ff
|
refactoring test
|
2020-12-18 16:24:38 +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
|
6eaeb1fcf6
|
update coinbase webhook
|
2020-12-14 11:36:34 +01:00 |
|
Son NK
|
7094a0b694
|
remove unused var
|
2020-12-13 19:31:16 +01:00 |
|
Son NK
|
43a021dd88
|
send a reminder when a coinbase subscription is ending soon
|
2020-12-13 19:18:58 +01:00 |
|
Son NK
|
b00841f679
|
add /coinbase to handle Coinbase callback
|
2020-12-13 19:18:23 +01:00 |
|
Son Nguyen Kim
|
bf139f83b3
|
Merge pull request #342 from herrboyer/linting
Linting
|
2020-12-07 17:45:50 +01:00 |
|
Renaud Boyer
|
5d948faf56
|
black
|
2020-12-06 22:11:58 +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 |
|
Renaud Boyer
|
0d535c8765
|
linting
|
2020-12-06 17:54:54 +01:00 |
|
Renaud Boyer
|
6945cb633d
|
linting
|
2020-12-06 17:49:26 +01:00 |
|
Renaud Boyer
|
079e548ab7
|
linting
|
2020-12-06 17:48:24 +01:00 |
|
Renaud Boyer
|
7bcc72cc02
|
linting
|
2020-12-06 17:47:37 +01:00 |
|
Renaud Boyer
|
f360488eca
|
linting
|
2020-12-06 17:47:05 +01:00 |
|
Renaud Boyer
|
0f48121fd5
|
linting
|
2020-12-06 17:46:10 +01:00 |
|
Renaud Boyer
|
d88aeeab7f
|
linting
|
2020-12-06 17:45:07 +01:00 |
|
Renaud Boyer
|
6b416bcbbe
|
linting
|
2020-12-06 14:51:13 +01:00 |
|
Renaud Boyer
|
99b4fc9625
|
linting
|
2020-12-06 14:13:20 +01:00 |
|
Renaud Boyer
|
57ef3ac35c
|
linting
|
2020-12-06 14:10:13 +01:00 |
|
Renaud Boyer
|
419051cdd5
|
linting
|
2020-12-06 14:05:38 +01:00 |
|
Renaud Boyer
|
f746d17a02
|
linting
|
2020-12-06 14:05:00 +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
|
d61f45ea86
|
use 7bit as default encoding
|
2020-11-26 17:22:17 +01:00 |
|
Son NK
|
e2a7061429
|
add get_encoding() and encode_text()
|
2020-11-26 17:01:05 +01:00 |
|
Son NK
|
609d59d23f
|
improve logging
|
2020-11-25 15:20:00 +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
|
824a610aa6
|
refactor test_mailbox
|
2020-11-22 12:15:32 +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
|
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
|
5b9dc88c67
|
make sure alias prefix cannot be more than 40 chars
|
2020-11-18 10:38:35 +01:00 |
|
Son NK
|
319078fceb
|
use contact email when generating reply-email
|
2020-11-18 10:24:39 +01:00 |
|
Son NK
|
e06c872bc0
|
add test for get_addrs_from_header()
|
2020-11-18 10:04:23 +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
|
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
|
dec7969ead
|
add tests.utils.pretty()
|
2020-11-15 19:34:13 +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
|
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
|
9cfb6d412a
|
Add /api/v5/alias/options
|
2020-11-14 16:45:22 +01:00 |
|
Son NK
|
f452c79aec
|
Add /v2/setting/domains
|
2020-11-14 16:37:36 +01:00 |
|
Son NK
|
632a5bbbc8
|
handle UnicodeEncodeError in copy() and to_bytes()
|
2020-11-10 16:02:19 +01:00 |
|
Son NK
|
e659680875
|
add_header()
|
2020-11-07 13:00:12 +01:00 |
|
Son NK
|
8b356eef01
|
remove a test that can randomly fail
|
2020-11-05 10:48:32 +01:00 |
|
Son NK
|
f4f2db0f04
|
use the same error structure in apple endpoints
|
2020-11-03 16:13:10 +01:00 |
|
Son NK
|
6e0394d980
|
fix filter not working when alias has several mailboxes
|
2020-11-03 15:10:57 +01:00 |
|
Son NK
|
4b8a2a1851
|
add tests for sign_data
|
2020-11-03 13:30:13 +01:00 |
|
Son NK
|
4b6368b378
|
make sure only verified mailbox can be used as default
|
2020-11-03 12:43:01 +01:00 |
|
Son NK
|
19ac657c1c
|
add GET /api/v2/mailboxes
|
2020-11-03 12:14:13 +01:00 |
|
Son NK
|
5ee74c74b6
|
do not use url_for() in api tests
|
2020-11-03 12:07:48 +01:00 |
|
Son NK
|
273537e7ae
|
use same mailbox format for "POST /api/mailboxes" and "GET /api/mailboxes"
|
2020-11-03 11:22:01 +01:00 |
|
Son NK
|
a989545505
|
make sure alias contact address is valid
|
2020-11-03 11:13:43 +01:00 |
|
Son NK
|
751cc05534
|
check contact address in POST /aliases/<int:alias_id>/contacts
|
2020-11-03 11:10:32 +01:00 |
|
Son NK
|
72a34e28be
|
add is_valid_email()
|
2020-11-03 11:09:37 +01:00 |
|
Son NK
|
a890557c7f
|
Use check_alias_prefix() to check alias prefix
|
2020-11-03 10:39:08 +01:00 |
|
Son NK
|
ec1b7dd8b8
|
return latest_activity=null if there's no activity in GET /api/v2/aliases
|
2020-11-01 12:32:20 +01:00 |
|
Son NK
|
92ea8de374
|
fix test name
|
2020-11-01 12:29:15 +01:00 |
|
Son NK
|
38ca2341bc
|
fix mailbox query in get_alias_infos_with_pagination_v3
|
2020-11-01 12:24:19 +01:00 |
|
Son NK
|
c076c7c7f3
|
PATCH /api/setting
|
2020-10-28 17:47:26 +01:00 |
|
Son NK
|
12f7485cb1
|
Add GET /api/setting/domains
|
2020-10-28 17:30:57 +01:00 |
|
Son NK
|
77bf9537d0
|
Add GET /api/setting
|
2020-10-28 17:23:58 +01:00 |
|
Son NK
|
91534d3cf2
|
Add PATCH /api/user_info
|
2020-10-28 17:12:21 +01:00 |
|
Son NK
|
3f40e3c1cf
|
return profile_picture_url in GET /user_info
|
2020-10-28 17:11:33 +01:00 |
|
Son NK
|
9210459a72
|
add pgpy
- add pgpy to poetry
- add test PGP keys to local_data
- add encrypt_file_with_pgpy()
- use randomly pgpy
|
2020-10-28 11:50:14 +01:00 |
|
Son NK
|
71be3b27f7
|
redirect user to dashboard when setup is done
|
2020-10-28 10:49:50 +01:00 |
|
Son NK
|
c6b6083c46
|
Revert "remove alias options v1,v2,v3 tests"
This reverts commit 8da14ca8ca .
|
2020-10-20 17:32:01 +02:00 |
|
Son NK
|
8da14ca8ca
|
remove alias options v1,v2,v3 tests
|
2020-10-20 17:03:32 +02:00 |
|
Son NK
|
4a32db5b5d
|
rename PublicDomain -> SLDomain
|
2020-10-15 16:51:07 +02:00 |
|
Son NK
|
adff510359
|
use PublicDomain instead if ALIAS_DOMAINS
|
2020-10-15 16:45:08 +02:00 |
|
Son NK
|
e79522b638
|
take into account Premium domains
|
2020-10-15 16:21:31 +02:00 |
|
Son NK
|
805e78cad1
|
rename email_belongs_to_alias_domains -> email_belongs_to_default_domains
|
2020-10-14 18:46:05 +02:00 |
|
Son NK
|
8dbd3c1c68
|
more detailed error message when an alias can't be created
|
2020-10-09 11:48:52 +02:00 |
|
Son NK
|
859bc7976e
|
create create-alias tests when alias is already existed
|
2020-10-09 11:37:56 +02:00 |
|
Sylvia van Os
|
d8ed1cbbc3
|
Dedupe email address
|
2020-10-01 21:35:11 +02:00 |
|
Son NK
|
063885ccf7
|
Add get_mailbox_from_mail_from()
|
2020-09-28 17:41:16 +02:00 |
|
Son NK
|
d6d686c4c3
|
add argument commit= to create()
|
2020-09-28 17:40:30 +02:00 |
|
Son NK
|
fdedc24358
|
black new version
|
2020-08-27 10:20:48 +02:00 |
|
Son NK
|
17c7303fb5
|
add get_header_from_bounce()
|
2020-08-24 10:17:22 +02:00 |
|
Son NK
|
77bfa67402
|
fix delete_alias: do not use IntegrityError
|
2020-08-23 20:17:50 +02:00 |
|
Son NK
|
2f00294ba3
|
replace pgp_enabled by disable_pgp
|
2020-08-06 14:22:28 +02:00 |
|
Son NK
|
b3ca7d1d5b
|
Return pgp_enabled in GET /api/v2/aliases
|
2020-08-04 20:11:59 +02:00 |
|
Son NK
|
03841693ba
|
Return support_pgp in GET /api/v2/aliases
|
2020-08-04 20:09:42 +02:00 |
|
Son NK
|
d89e41d0e5
|
use user.max_spam_score if present
|
2020-07-23 11:11:43 +02:00 |
|
Son NK
|
d0776b770f
|
add GET /api/logout
|
2020-07-04 12:10:04 +02:00 |
|
Son NK
|
0d3a3e0c48
|
Create POST /api/api_key
|
2020-07-04 11:41:31 +02:00 |
|
Son NK
|
5705842415
|
add email_utils.copy()
|
2020-06-12 00:02:07 +02:00 |
|
Son NK
|
dfe708b4fb
|
return user email in /api/auth/mfa
|
2020-06-09 17:20:37 +02:00 |
|
Son NK
|
0002531bc0
|
return user email in /api/auth/login
|
2020-06-09 17:19:03 +02:00 |
|
Son NK
|
89f200fbc6
|
format
|
2020-06-03 21:32:37 +02:00 |
|
Son NK
|
9fc0748fcc
|
Support setting alias name in POST /api/v3/alias/custom/new
|
2020-06-03 21:22:29 +02:00 |
|
Son NK
|
48dc0dd1cc
|
change mailboxes to mailbox_ids
|
2020-06-02 20:06:32 +02:00 |
|
Son NK
|
d055989239
|
Create POST /api/v3/alias/custom/new
|
2020-06-02 09:33:56 +02:00 |
|
Son NK
|
48998ff07e
|
return nb_alias in GET /mailboxes
|
2020-05-31 11:52:01 +02:00 |
|
Son NK
|
0530a8aab5
|
return creation_timestamp in GET /mailboxes
|
2020-05-31 11:49:53 +02:00 |
|
Son NK
|
78d9a88328
|
Add default field to GET /api/mailboxes
|
2020-05-27 14:18:20 +02:00 |
|
Son NK
|
1e03f26cfa
|
Return whether there's more notification in GET /api/notifications
|
2020-05-23 22:51:00 +02:00 |
|
Son NK
|
dae357dd6b
|
Add GET /api/notifications, /api/notifications/:notification_id
|
2020-05-23 19:54:06 +02:00 |
|
Son NK
|
6280512adf
|
move get mailboxes to mailbox.py
|
2020-05-23 16:46:10 +02:00 |
|
Son NK
|
3eb6700232
|
user can cancel mailbox email change
|
2020-05-23 16:43:48 +02:00 |
|
Son NK
|
2f087de061
|
can update mailbox email
|
2020-05-23 16:40:28 +02:00 |
|
Son NK
|
a76ad0485f
|
PUT /api/mailboxes/:mailbox_id: update mailbox
|
2020-05-23 16:26:26 +02:00 |
|
Son NK
|
5ae39c85c6
|
Add DELETE /api/mailboxes/:mailbox_id
|
2020-05-23 16:18:12 +02:00 |
|
Son NK
|
722bff319e
|
add POST /api/mailboxes: create a new mailbox
|
2020-05-23 16:17:42 +02:00 |
|
Son NK
|
2fbc2c171b
|
check domain trash when creating custom alias in api
|
2020-05-23 12:02:01 +02:00 |
|
Son NK
|
b167297808
|
Support disable_pgp in update alias endpoint
|
2020-05-16 20:51:07 +02:00 |
|
Sibren Vasse
|
a5f24e0227
|
Add more From: sender formatting options
|
2020-05-16 18:44:31 +02:00 |
|
Son NK
|
362d101bab
|
Merge branch 'master' into multiple-mailboxes
# Conflicts:
# app/dashboard/templates/dashboard/custom_alias.html
# email_handler.py
# templates/emails/com/newsletter/mobile-darkmode.html
|
2020-05-16 11:28:25 +02:00 |
|
Son NK
|
2978bfb281
|
Fix user cannot change personal email back and better naming.
Happens when user
- changes their personal email
- wants to change back: they can't as this email is already used as mailbox
|
2020-05-15 23:18:30 +02:00 |
|
Son NK
|
aba0a534c0
|
When a mailbox is deleted, only put alias that has this mailbox as single mailbox to global trash
|
2020-05-15 16:47:55 +02:00 |
|
Son NK
|
e52f2ca6de
|
Support multiple mailboxes in custom alias page
|
2020-05-10 20:09:54 +02:00 |
|
Son NK
|
90dae2e3c8
|
Support mailbox_ids in PUT /api/aliases/:alias_id
|
2020-05-10 20:09:54 +02:00 |
|
Son NK
|
165d986561
|
add mailboxes to GET /api/v2/aliases
|
2020-05-10 20:09:54 +02:00 |
|
Son NK
|
53e04a8066
|
fix test
|
2020-05-10 10:42:18 +02:00 |
|
Son NK
|
b95b758692
|
Optimize imports
|
2020-05-09 20:49:38 +02:00 |
|
Son NK
|
d9f1fb9130
|
Create send_email_with_rate_control(): same as send_email() but with rate control
|
2020-05-09 20:43:17 +02:00 |
|
Son NK
|
753e82d490
|
Add DMARC
|
2020-05-03 12:01:31 +02:00 |
|
Son NK
|
c35fbf9797
|
fix test_encode_decode
|
2020-05-02 16:26:50 +02:00 |
|
Son NK
|
d32669f515
|
Add /api/v2/alias/custom/new
|
2020-05-02 16:22:17 +02:00 |
|
Son NK
|
72e9b52b29
|
Add /api/v4/alias/options
|
2020-05-02 16:21:18 +02:00 |
|
Son NK
|
9874422700
|
refactor custom_alias: create available_suffixes()
|
2020-05-02 12:34:11 +02:00 |
|
Son NK
|
0edcc25289
|
refactor verify_prefix_suffix: remove user_custom_domains param
|
2020-05-02 12:27:54 +02:00 |
|
Son NK
|
db92003e5f
|
Anti tamper: avoid submitting any suffix
|
2020-05-02 12:15:03 +02:00 |
|
Son NK
|
ca2b177e02
|
fix test: use valid domain
|
2020-04-27 23:15:30 +02:00 |
|
Son NK
|
96d93c824a
|
fix test
|
2020-04-27 20:22:25 +02:00 |
|
Son NK
|
63af3297f7
|
return alias name in GET /api/v2/aliases
|
2020-04-26 10:38:58 +02:00 |
|
Son NK
|
7a2fc007e8
|
Accept "name" in PUT /api/aliases/:alias_id
|
2020-04-26 10:38:16 +02:00 |
|
Son NK
|
a422f33323
|
Add GET /api/mailboxes
|
2020-04-25 23:42:56 +02:00 |
|
Son NK
|
88ddca54c1
|
return mailbox in GET /api/v2/aliases
|
2020-04-25 23:42:56 +02:00 |
|
Son NK
|
489153a750
|
Support update mailbox_id in PUT /aliases/:aliasID
|
2020-04-25 13:49:40 +02:00 |
|
Son NK
|
e50b0d5da5
|
implement apple_update_notification
|
2020-04-21 09:34:16 +02:00 |
|
Son NK
|
1bba38edb6
|
Add POST /apple/process_payment
|
2020-04-19 11:13:38 +02:00 |
|
Son NK
|
cf016caa91
|
Refuse disposable emails in can_be_used_as_personal_email()
|
2020-04-16 09:43:14 +02:00 |
|
Son NK
|
5d0519ed86
|
Add GET /api/v2/aliases
|
2020-04-06 22:26:35 +02:00 |
|
Son NK
|
afceabeef5
|
add Contact.new_addr()
|
2020-04-05 15:21:04 +02:00 |
|
Son NK
|
d1e5b9f9b7
|
set contact name, use website_email instead of website_from in alias endpoint
|
2020-04-05 12:58:06 +02:00 |
|
Son NK
|
c686767d4d
|
Fix parseaddr_unicode: take into account email only case
|
2020-04-05 12:56:17 +02:00 |
|
Son NK
|
6c68b3cda7
|
Fix website_send_to: prefer using name instead of website_from
|
2020-04-05 12:48:59 +02:00 |
|
Son NK
|
5fff1e86ce
|
Add parseaddr_unicode()
|
2020-04-05 12:07:40 +02:00 |
|
Son NK
|
4d8040c80d
|
Add reverse_alias to GET /api/aliases/:alias_id/activities
|
2020-04-04 19:18:07 +02:00 |
|
Son NK
|
eccc8a71e9
|
use MAX_ACTIVITY_DURING_MINUTE instead of MIN_TIME_BETWEEN_ACTIVITY
|
2020-04-04 17:22:27 +02:00 |
|
Son NK
|
8caebc0142
|
Return 421 when there's too much activity on an alias or mailbox
|
2020-04-04 16:27:22 +02:00 |
|
Son NK
|
3550447a66
|
use BytesIO as input when encrypting
|
2020-04-02 21:30:36 +02:00 |
|
Son NK
|
4c1c02db60
|
Add /v3/alias/options
|
2020-03-29 23:13:04 +02:00 |
|
Son NK
|
97dff83453
|
return full alias info in POST /api/alias/random/new
|
2020-03-26 19:50:22 +01:00 |
|
Son NK
|
d4a32451c1
|
return full alias info in POST /api/alias/custom/new
|
2020-03-26 19:48:36 +01:00 |
|
Son NK
|
159aa76aae
|
GET /api/aliases/:alias_id
|
2020-03-26 19:44:00 +01:00 |
|
Son NK
|
7d4a9efb5d
|
set user_id when creating AliasUsedOn
|
2020-03-20 12:29:11 +01:00 |
|
Son NK
|
7f5f3e68ba
|
make sure to set user_id when creating EmailLog
|
2020-03-20 09:55:52 +01:00 |
|
Son NK
|
6e54b4fed8
|
make sure to set user_id when creating contact
|
2020-03-20 09:54:38 +01:00 |
|
Son NK
|
b0f2d7b85a
|
always return 200 in /forgot_password
|
2020-03-18 21:55:50 +01:00 |
|
Son NK
|
2079b16431
|
add "in_trial" to /user_info
|
2020-03-18 19:08:16 +01:00 |
|
Son NK
|
f2d5230449
|
Add POST /api/auth/forgot_password
|
2020-03-18 18:43:04 +01:00 |
|
Son NK
|
ba6b8d2711
|
return email in /user_info
|
2020-03-18 18:34:37 +01:00 |
|
Son NK
|
fbef076a14
|
Take into account query in GET /api/aliases
|
2020-03-17 19:32:45 +01:00 |
|
Son NK
|
0d725588ae
|
Add DELETE /api/contacts/:contact_id
|
2020-03-17 19:18:26 +01:00 |
|
Son NK
|
2d90d35647
|
rename gen_email_id -> alias_id
|
2020-03-17 12:01:18 +01:00 |
|
Son NK
|
4f281bdbbb
|
rename GenEmail -> Alias, gen_email to alias whenever possible
|
2020-03-17 11:51:40 +01:00 |
|
Son NK
|
bea870ef8b
|
rename ForwardEmailLog to EmailLog
|
2020-03-17 11:10:50 +01:00 |
|
Son NK
|
f2d630e597
|
rename forward_id to contact_id
|
2020-03-17 11:05:53 +01:00 |
|
Son NK
|
17974de746
|
rename ForwardEmail to Contact
|
2020-03-17 10:56:59 +01:00 |
|
Son NK
|
027cbb10d9
|
use parseaddr instead of get_email_part
|
2020-03-15 22:32:48 +01:00 |
|
Son NK
|
6b6fca2281
|
use email.utils.parseaddr and formataddr instead of get_email_name
|
2020-03-15 22:29:53 +01:00 |
|
Son NK
|
f87746e071
|
POST /api/aliases/:alias_id/contacts
|
2020-03-14 12:55:38 +01:00 |
|
Son NK
|
d7cb5ed26e
|
GET /api/aliases/:alias_id/contacts
|
2020-03-14 12:22:43 +01:00 |
|
Son NK
|
bfd729b889
|
PUT /api/aliases/:alias_id
|
2020-03-14 11:38:39 +01:00 |
|