Commit Graph

494 Commits

Author SHA1 Message Date
Son NK
e19fff3a9a Add Alias.original_owner_id column 2021-02-17 12:49:47 +01:00
Son NK
0354943ff4 Add User.sender_format_updated_at column 2021-01-26 20:13:51 +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
980942a1f9 create Metric model 2021-01-25 18:47:02 +01:00
Son NK
4bfe6d1ac9 handle name can be None in get_name_initial() 2021-01-15 11:21:45 +01:00
Son NK
e9adb3270d use sanitize_email instead of .lower().strip().replace(" ", "") 2021-01-11 12:29:40 +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
8dbaf3cf56 Add EmailLog.spam_report column 2021-01-04 14:38:32 +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
66e7aa7242 refactor 2020-12-31 12:50:04 +01:00
Son NK
0df4d1a93d add more logging 2020-12-29 12:17:24 +01:00
Son NK
9f9d292754 remove can_use_coinbase column 2020-12-19 16:31:16 +01:00
Son NK
3a8cdce650 Create should_disable 2020-12-16 18:50:09 +01:00
Son NK
1961d2f18e Add User.can_use_coinbase column 2020-12-13 19:28:13 +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
05d4ec1c2f Add directory.disabled column 2020-12-07 10:48:43 +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
Son NK
255a7e085a add index on user_id, mailbox_id, ... if possible 2020-12-02 17:33:03 +01:00
Son NK
5b9eb8686a add id to mailbox repr 2020-11-26 10:08:09 +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
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
75ba1669e0 Create generate_reply_email() and refactor 2020-11-16 19:15:09 +01:00
Son NK
c794e73abd Add EnumE.has_name(), EnumE.get_value() 2020-11-15 19:43:01 +01:00
Son NK
d8c9078708 Add EnumE.get_name() 2020-11-15 19:34:00 +01:00
Son NK
abf50e302b Add Alias.pinned column 2020-11-15 18:38:07 +01:00
Son NK
f62c568dd0 Add Contact.invalid_email column 2020-11-14 15:54:06 +01:00
Son NK
44c3ac1741 Replace 2.99 by 3, 29.99 by 30 2020-11-09 17:56:26 +01:00
Son NK
7cc57106de Add Mailbox.generic_subject column 2020-11-07 12:48:44 +01:00
Son NK
a989545505 make sure alias contact address is valid 2020-11-03 11:13:43 +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
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
85a1d67c6f put browser extension onboarding email to the welcome email 2020-10-22 11:46:15 +02:00
Son NK
677f150fef add unsubscribe header to com emails 2020-10-22 10:44:05 +02:00
Son NK
ea45ac119e Refactor: create Alias.unsubscribe_link 2020-10-22 10:37:02 +02:00
Son NK
050c2feaeb Add LifetimeCoupon.paid column 2020-10-21 19:31:07 +02:00
Son NK
828799010b Add CustomDomain.nb_failed_checks column 2020-10-20 16:50:01 +02:00
Son NK
8482a55df6 display whether a domain is premium 2020-10-20 16:44:22 +02:00
Son NK
a2a4e50f27 remove potential duplicate in available_alias_domains 2020-10-15 17:02:54 +02:00
Son NK
1524bb4e4b black 2020-10-15 16:52:55 +02:00
Son NK
dbf0404aa9 rename public_domain -> sl_domain if applicable 2020-10-15 16:52:38 +02:00
Son NK
4a32db5b5d rename PublicDomain -> SLDomain 2020-10-15 16:51:07 +02:00
Son NK
0a4fc76b61 optimize import 2020-10-15 16:45:28 +02:00
Son NK
adff510359 use PublicDomain instead if ALIAS_DOMAINS 2020-10-15 16:45:08 +02:00
Son NK
521d8e51a5 small fix 2020-10-15 16:25:56 +02:00
Son NK
e79522b638 take into account Premium domains 2020-10-15 16:21:31 +02:00
Son NK
dcbd7baabc Add PublicDomain.premium_only column 2020-10-15 16:08:06 +02:00
Son NK
8268568f08 add mailbox.disabled column. Disable a mailbox if it fails tests for 10 days consecutive. 2020-10-12 13:28:21 +02:00
Son Nguyen Kim
4e45a619cd
Merge pull request #302 from TheLastProject/feature/custom_domain_random_suffix
Support random suffix for personal domains
2020-10-11 18:06:06 +02:00
Sylvia van Os
9702037573 Reformat with Black 2020-10-09 23:00:10 +02:00
Sylvia van Os
26d0437009 Make prefix generation configurable per domain 2020-10-09 22:54:13 +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 Nguyen Kim
a4bcf59bfe
Merge pull request #297 from TheLastProject/feature/dedupe_email
Dedupe email address
2020-10-04 15:08:15 +02:00
Son NK
6c37a91c6d add User.disabled field 2020-10-04 12:49:43 +02:00
Son NK
e225bffc30 add backref for some models 2020-10-04 12:49:43 +02:00
Sylvia van Os
7be674c13b Reformat with Black 2020-10-01 21:51:50 +02:00
Sylvia van Os
d8ed1cbbc3 Dedupe email address 2020-10-01 21:35:11 +02:00
Son NK
0830bba218 Add AuthorizedAddress model 2020-09-28 17:40:54 +02:00
Son NK
d6d686c4c3 add argument commit= to create() 2020-09-28 17:40:30 +02:00
Son NK
53f66d0f3c handle the "past due" subscription case: downgrade a subscription if it's renewed 2020-09-24 09:34:35 +02:00
Son NK
491f4de120 add Contact mail_from and from_header column 2020-09-14 17:55:55 +02:00
Son NK
2cfaa93a5f create a first alias to receive SimpleLogin newsletter when user is created 2020-09-12 14:31:31 +02:00
Son NK
8fe508c5d3 Add User.newsletter_alias_id column 2020-09-12 14:30:49 +02:00
Son NK
6da48298a6 Add BatchImport model 2020-09-10 20:05:25 +02:00
Son NK
a660a05f83 use warning for problem with random alias default domain 2020-09-10 09:32:51 +02:00
Son NK
2d395f99bb make sure to remove whitespace in alias 2020-09-02 09:56:16 +02:00
Son NK
63e228d9f4 only alert on invalid mailbox that has too many email logs 2020-08-30 19:59:39 +02:00
Son NK
fdedc24358 black new version 2020-08-27 10:20:48 +02:00
Son NK
9c72f4dec0 Add Alias.disable_email_spoofing_check column 2020-08-26 14:39:03 +02:00
Son NK
f213469e9f display nb-reply, nb-forward on alias contact page 2020-08-26 11:45:07 +02:00
Son Nguyen Kim
637bc569eb
Merge pull request #260 from FabioWidmer/improvements-1
Improvements for Self Hosting & More
2020-08-24 20:16:59 +02:00
Son NK
0c6a5f4333 add EmailLog.spam_score column 2020-08-16 11:59:53 +02:00
Son NK
c0f263ee70 add Monitoring model 2020-08-15 13:15:20 +02:00
Son NK
89830e2173 fix import 2020-08-14 12:06:26 +02:00
Son NK
6bc0c5ada4 fix Mailbox.delete: use alias_utils.delete_alias 2020-08-14 12:03:41 +02:00
Son NK
b4eb110971 fix Directory.create: use alias_utils.delete_alias 2020-08-14 12:02:54 +02:00
Son NK
2cae0200a8 use delete_alias(alias,user) instead of Alias.delete, DomainDeletedAlias.create, DeletedAlias.create 2020-08-14 12:02:33 +02:00
Son NK
b7cbaa6e84 delete the expired ChangeEmail object 2020-08-13 10:59:39 +02:00
Fabio Widmer
8e71e8e7f4
A few (self hosting) improvements 2020-08-12 16:12:41 +02:00
Son NK
8a11e42da9 notify admin when user cancels 2020-08-07 10:01:11 +02:00
Son NK
f2fb599664 Optimize Alias.get_contacts() to retrieve the latest reply for each contact in a single query 2020-08-04 11:37:59 +02:00
Son NK
e8fc9752b5 Add DomailMailbox model 2020-08-01 12:20:59 +02:00
Son NK
8e9968a7d9 Add User.max_spam_score column 2020-07-23 11:09:28 +02:00
Son NK
6437ee46e0 use LOG.exception instead of LOG.error to provide stacktrace 2020-07-17 12:59:07 +02:00
Son NK
4b479ea003 take into account user.default_random_alias_public_domain_id in create_new_random() 2020-07-04 23:27:02 +02:00
Son NK
4542a8353e add User.available_domains_for_random_alias(), default_random_alias_domain() 2020-07-04 23:24:32 +02:00
Son NK
955231199e Add User.default_random_alias_public_domain_id 2020-07-04 23:23:39 +02:00
Son NK
ee9b796b7d Add PublicDomain model 2020-07-04 23:18:11 +02:00
Son NK
4cd0227477 refactoring: move model methods below fields 2020-07-04 22:46:09 +02:00
Son NK
96ac15a3e0 add user.is_paid() and referral.nb_paid_user() 2020-07-02 08:48:37 +02:00
Son NK
b23259cacd add Mailbox.nb_failed_checks 2020-06-28 11:17:36 +02:00
Son NK
ec0f5ccd3a only return verified mailbox in alias.mailboxes 2020-06-28 11:15:29 +02:00
Son NK
b2f82ba4a8 use custom domain to generate a random alias if user enables this option 2020-06-25 13:05:25 +02:00
Son NK
abe9768db4 user can update the random alias domain 2020-06-25 13:04:27 +02:00
Son NK
040c6d1f9e add User.default_random_alias_domain_id 2020-06-25 13:02:43 +02:00
Son NK
cadbe7d32b order alias.mailboxes 2020-06-10 22:32:00 +02:00
Son NK
1101ba5afa add Mailbox.nb_email_log and aliases 2020-06-09 17:02:45 +02:00
Son NK
6cccb450b0 fix contact order on alias contact manager page 2020-06-07 13:41:59 +02:00
Son NK
c593253c7d Add pgp_public_key,pgp_finger_print columns to Contact model 2020-06-07 13:40:24 +02:00
Son NK
8161d89c39 Create DirectoryMailbox model 2020-06-05 22:08:08 +02:00
Son NK
acac06188c fix mailbox.nb_alias(): take into account multiple mailboxes per alias case 2020-06-03 09:06:38 +02:00
Son NK
683b3e54d8 remove User.can_use_fido column: anyone can setup FIDO 2020-05-28 20:38:29 +02:00
Son NK
2fb4b38e28 add alias.cannot_be_disabled 2020-05-27 14:11:32 +02:00
Son NK
2f0a5aa429 add user.paid_lifetime column 2020-05-27 00:18:45 +02:00
Son NK
ba5d71dd75 Use FIRST_ALIAS_DOMAIN instead of EMAIL_DOMAIN when creating random alias 2020-05-26 09:07:36 +02:00
Sibren Vasse
097ac771b0 Prevent OTP replay attacks by invalidating last token 2020-05-24 19:23:16 +02:00
Sibren Vasse
35bb1645a3 Allow user to disable mfa for browser for 30 days 2020-05-24 19:23:16 +02:00
Son Nguyen Kim
eb60028b1f
Merge pull request #199 from developStorm/webauthn-multiple-keys
Support Multiple Keys for WebAuthn
2020-05-24 18:56:42 +02:00
Son NK
c47fb44c1e Pagination for contact page 2020-05-23 22:34:46 +02:00
Son NK
a2e7de0bab Add Notification model 2020-05-23 19:54:06 +02:00
Son NK
605e8d1f23 Fix DomainDeletedAlias check in Alias.create 2020-05-23 19:48:45 +02:00
Son NK
c73820920b check DomainDeletedAlias when creating new alias 2020-05-23 19:35:18 +02:00
Son NK
95ae2ec254 Add migrate_domain_trash() to move deleted alias to the correct trash 2020-05-23 12:17:50 +02:00
Son NK
bad3c39921 Add DomainDeletedAlias to store all deleted aliases for a domain 2020-05-23 11:44:15 +02:00
Son NK
93d972df09 make sure to use lowercase for alias email 2020-05-20 18:12:14 +02:00
Son NK
2217805d8c no need to move alias to global trash when a domain is deleted 2020-05-20 10:16:55 +02:00
devStorm
ea914e0378
Rename FIDO->Fido 2020-05-18 13:54:05 -07:00
devStorm
6509053fa8
named key 2020-05-18 02:55:41 -07:00
devStorm
2b8febe0b9
black 2020-05-18 00:06:24 -07:00
devStorm
f2f6e13af7
DB & Setup ready for multi-keys 2020-05-17 22:05:37 -07:00
Sibren Vasse
e905e151ca Create user setting for replacing reverse alias (default: false) 2020-05-17 19:40:46 +02:00
Son NK
12b76dd33b Merge branch 'master' into alias-disable-pgp 2020-05-17 10:46:44 +02:00
Son NK
3f7842ed3e create /recovery_code page 2020-05-17 10:05:55 +02:00
Son NK
aaa1a869ea add RecoveryCode model 2020-05-17 09:59:07 +02:00
Son NK
13bb9810b6 use can disable PGP on an alias 2020-05-16 20:51:07 +02:00
Son NK
95213b6d85 Add alias.disable_pgp column 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
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
ff1aa72b1d lazy load alias._mailboxes and alias.mailbox 2020-05-15 16:46:02 +02:00
Son NK
0b652cf3f8 remove AliasMailbox.user_id column 2020-05-15 16:35:57 +02:00
Son NK
bc55b98e12 display mailbox that a bounce affects 2020-05-10 20:09:54 +02:00
Son NK
0f09ef681c Add EmailLog.bounced_mailbox_id 2020-05-10 20:09:54 +02:00
Son NK
4b479defa8 Support alias having multiple mailboxes in forward phase 2020-05-10 20:09:54 +02:00
Son NK
684e8983ef Add AliasMailbox table 2020-05-10 20:09:54 +02:00
Son NK
92cd75f14a Add DISABLE_ONBOARDING param 2020-05-10 14:43:41 +02:00
Son NK
7fdef16f37 add SentAlert model to keep track of alert emails sent to user 2020-05-09 20:40:36 +02:00
Son Nguyen Kim
b95d815e5c
Merge pull request #168 from simple-login/global-trash
Global trash
2020-05-09 18:08:51 +02:00
Son Nguyen Kim
e23887bb37
Merge pull request #164 from SibrenVasse/spf
Enforce SPF
2020-05-09 14:37:09 +02:00
Sibren Vasse
001079bdc5 Enforce SPF 2020-05-09 14:15:08 +02:00
Son NK
cf35fe2646 Put all aliases belonging to a domain to global trash when the domain is deleted 2020-05-07 22:50:45 +02:00
Son NK
9898d85722 Put all aliases belonging to a directory to global trash when this directory is deleted 2020-05-07 22:42:39 +02:00
Son NK
7a1f944887 Put all aliases belonging to a mailbox to global trash when this mailbox is deleted 2020-05-07 22:40:53 +02:00
Son NK
0441e5e2a9 Remove DeletedAlias.user_id column 2020-05-07 22:40:30 +02:00
Son NK
2f5a03dcad make sure to add alias into global trash when deleting it 2020-05-07 22:27:27 +02:00
Son NK
300f1d7032 Override Alias.create to check in global trash first 2020-05-07 22:23:36 +02:00
Son NK
f8e896541d replace Mailbox.email unique constraint by (email, user_id) 2020-05-07 21:46:16 +02:00
Son NK
18d62a81d1 add User.can_use_fido 2020-05-07 17:56:25 +02:00
devStorm
f7e3320242
model - fido_enabled 2020-05-07 05:32:52 -07:00
devStorm
286b1143ca
Store sign count 2020-05-05 03:16:52 -07:00
devStorm
a32b69078f
Key registration (Backend) 2020-05-05 01:58:42 -07:00
devStorm
3ce4dfb371
Security key setup page (front-end) 2020-05-05 01:32:49 -07:00
Sibren Vasse
0e4799030d Add default alias name to custom domain 2020-05-03 19:35:02 +02:00
Son NK
a270987f70 Add CustomDomain.dmarc_verified column 2020-05-03 11:51:22 +02:00
Son NK
3ce3a05c7b Add referral name 2020-05-02 18:08:05 +02:00
Son NK
c7ebee2118 Fix suggested_emails: only return enabled aliases 2020-05-02 12:28:44 +02:00
Son NK
22bfb4082e add alias.name column 2020-04-26 10:37:40 +02:00
Son NK
97544ac760 Update mailbox using ajax
refactor: return Mailbox in User.mailboxes()
2020-04-25 13:49:40 +02:00
Son NK
ca6350cc27 optimize import in all files 2020-04-25 13:49:39 +02:00
Son NK
15219f7021 Support Apple grace period 2020-04-20 23:31:25 +02:00
Son NK
04e7cc448e fix blocked -> block 2020-04-20 19:58:10 +02:00
Son NK
b5b4fe2773 make sure original_transaction_id is unique 2020-04-19 23:13:07 +02:00
Son NK
85fd4412ba take into account AppleSubscription in premium formula 2020-04-19 10:58:32 +02:00
Son NK
2a837f9213 remove user.is_cancel() 2020-04-19 10:54:15 +02:00
Son NK
f7f1e7f358 replace user.next_bill_date() by sub.next_bill_date.strftime("%Y-%m-%d") 2020-04-19 10:54:05 +02:00
Son NK
b0118e615a Add AppleSubscription model 2020-04-18 20:47:33 +02:00
Son NK
28101612db Use FIRST_ALIAS_DOMAIN to create first alias 2020-04-15 22:51:18 +02:00
Son NK
29c9295e01 set File.user_id to nullable to correspond to existing installation 2020-04-15 09:00:23 +02:00
Son NK
1410d5617f Fix code compatibility with 2x version 2020-04-14 22:42:20 +02:00
Son NK
ed76a8ae8d reformat 2020-04-13 20:51:29 +02:00
Son NK
b838157ad5 User who has lifetime licence or giveaway manual subscriptions can decide to upgrade to a paid plan 2020-04-13 20:50:48 +02:00
Son NK
260ded14ea rename should_upgrade -> should_show_upgrade_button 2020-04-13 20:49:35 +02:00
Son NK
7beae4d846 Add ManualSubscription.is_giveaway column 2020-04-13 20:48:47 +02:00
Son NK
dee6d4959d Add User.intro_shown column 2020-04-13 13:22:52 +02:00
Son NK
e44860329b Make sure user cannot create more than 50 directories 2020-04-12 20:14:49 +02:00
Son NK
076d9899ea rename 2020-04-12 19:27:14 +02:00
Son NK
a0cdf3ae95 allow user having manual sub or canceled sub to upgrade to lifetime 2020-04-11 10:47:32 +02:00
Son NK
cdf23d04fc Add Referral model 2020-04-09 22:20:06 +02:00
Son NK
5d0519ed86 Add GET /api/v2/aliases 2020-04-06 22:26:35 +02:00
Son NK
460c306712 Order alias by latest activity instead of alias creation date. Show the latest activity & contact 2020-04-05 19:03:17 +02:00
Son NK
afceabeef5 add Contact.new_addr() 2020-04-05 15:21:04 +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
fa8e0aee45 Add contact.name column 2020-04-05 12:18:18 +02:00
Son NK
58ca77e2ae Add browser extension onboarding email 2020-04-02 23:26:17 +02:00
Son NK
9563b706f2 Add EmailLog is_spam, spam_status column 2020-03-30 21:42:25 +02:00
Son NK
65ca7d2a71 add User.use_via_format_for_sender column 2020-03-28 22:35:29 +01:00
Son NK
5b9f3c2763 add contact.is_cc column 2020-03-28 19:05:27 +01:00
Son NK
9e04081186 send mailbox onboarding email 2020-03-24 21:19:45 +01:00
Son NK
c02b8298fc send pgp onboarding email to user on 2nd day 2020-03-24 21:01:38 +01:00
Son NK
86ef7f54d9 RefusedEmail.path can be null 2020-03-22 16:51:21 +01:00
Son NK
8abdf655fc make aliasUsedOn.user_id non nullable 2020-03-20 12:29:37 +01:00