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 |
|
Son NK
|
f452c79aec
|
Add /v2/setting/domains
|
2020-11-14 16:37:36 +01:00 |
|
Son NK
|
f62c568dd0
|
Add Contact.invalid_email column
|
2020-11-14 15:54:06 +01:00 |
|
Son NK
|
3489e41fdb
|
Add NOREPLY setting
|
2020-11-14 15:53:20 +01:00 |
|
Son NK
|
2c46d1db8e
|
Add PGP_SIGNER and display if it's set
|
2020-11-14 13:00:14 +01:00 |
|
Son NK
|
a072d6c0cd
|
only report the paddle error if it's not 147
|
2020-11-14 12:55:53 +01:00 |
|
Son NK
|
f16676e921
|
email.message_from_string can also throw LookupError when non-existent charset is set
|
2020-11-13 18:08:56 +01:00 |
|
Son NK
|
b4e5e3eecb
|
user can choose a referral code
|
2020-11-13 16:18:09 +01:00 |
|
Son NK
|
25de8001e2
|
fix circular import
|
2020-11-12 17:56:03 +01:00 |
|
Son NK
|
1c061ceb59
|
Schedule domain deletion instead of deleting it immediately
|
2020-11-12 17:41:47 +01:00 |
|
Son NK
|
ec4d879836
|
change promotion to 1st year only
|
2020-11-10 22:37:58 +01:00 |
|
Son NK
|
5570300699
|
use 2 random words when creating random alias
|
2020-11-10 18:52:31 +01:00 |
|
Son NK
|
4e16eb7403
|
fix
|
2020-11-10 17:42:23 +01:00 |
|
Son NK
|
4666d21f63
|
email.message_from_string can also throw KeyError when 'content-transfer-encoding' is absent
|
2020-11-10 17:26:24 +01:00 |
|
Son NK
|
632a5bbbc8
|
handle UnicodeEncodeError in copy() and to_bytes()
|
2020-11-10 16:02:19 +01:00 |
|
Son NK
|
c3f73b25b2
|
decode the subject
|
2020-11-09 21:16:50 +01:00 |
|
Son NK
|
b2f9479bce
|
failover when ascii encoding fails
|
2020-11-09 20:58:39 +01:00 |
|
Son NK
|
44c3ac1741
|
Replace 2.99 by 3, 29.99 by 30
|
2020-11-09 17:56:26 +01:00 |
|
Son NK
|
a35256d161
|
fix paddle
|
2020-11-09 17:34:58 +01:00 |
|
Son NK
|
2cc7cb6a37
|
use to_bytes instead of .as_bytes()
|
2020-11-09 17:02:10 +01:00 |
|
Son NK
|
15466903d1
|
Support OTHER_PADDLE_MONTHLY_PRODUCT_IDS, OTHER_PADDLE_YEARLY_PRODUCT_IDS config
|
2020-11-09 16:56:17 +01:00 |
|
Son NK
|
3f8e5d0a8b
|
add more logging
|
2020-11-08 22:39:49 +01:00 |
|
Son NK
|
a9297078d3
|
fix dkim clipboard
|
2020-11-08 22:39:38 +01:00 |
|
Son NK
|
76389647bb
|
add black friday coupon code
|
2020-11-08 16:31:24 +01:00 |
|
Son NK
|
4be182320e
|
black
|
2020-11-07 13:00:58 +01:00 |
|
Son NK
|
e659680875
|
add_header()
|
2020-11-07 13:00:12 +01:00 |
|
Son NK
|
f57f29a97b
|
Able to set a generic subject for PGP-enabled mailbox
|
2020-11-07 12:58:51 +01:00 |
|
Son NK
|
7cc57106de
|
Add Mailbox.generic_subject column
|
2020-11-07 12:48:44 +01:00 |
|
Son NK
|
6c626520d3
|
handle_bounce_reply_phase
|
2020-11-04 12:32:15 +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
|
c1b8f717b5
|
improve DNS page
|
2020-11-03 13:12:22 +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
|
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
|
04a418e655
|
fix contact name always converted to lowercase
|
2020-11-03 11:11:55 +01:00 |
|
Son NK
|
9fafddd603
|
use is_valid_email instead of regex
|
2020-11-03 11:11:09 +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
|
8d0e243c83
|
sign PGP forwarded email if PGP_SENDER_PRIVATE_KEY
|
2020-11-02 19:09:57 +01:00 |
|
Son NK
|
3f150e5944
|
add new param PGP_SENDER_PRIVATE_KEY_PATH
|
2020-11-02 19:06:47 +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
|
38ca2341bc
|
fix mailbox query in get_alias_infos_with_pagination_v3
|
2020-11-01 12:24:19 +01:00 |
|
Son NK
|
e49169b887
|
Reset default random alias domain setting if user is not premium
|
2020-11-01 09:37:09 +01:00 |
|
Son NK
|
28563b9653
|
fix duplicated display
|
2020-10-30 13:05:45 +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
|
6c816d51d6
|
fix load_public_key_and_check, remove IncorrectPassphrasePGPException
|
2020-10-28 12:21:42 +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
|
a2254cfdf8
|
remove pgp debugging code
|
2020-10-27 20:27:34 +01:00 |
|
Son NK
|
1abebe8067
|
improve how to use reverse-alias
|
2020-10-27 18:59:59 +01:00 |
|