Adrià Casajús
89d94963d7
PR comments
2022-04-22 14:49:03 +02:00
Son Nguyen Kim
5053d9f1f5
Merge pull request #918 from simple-login/handle-error-as-bytes
...
handle the AttributeError that can also be raised by as_bytes()
2022-04-22 10:51:55 +02:00
Son
68ec159d91
catch all exception in to_bytes
2022-04-22 10:20:43 +02:00
Son Nguyen Kim
2bcc22c391
Merge pull request #906 from simple-login/ac-hash-change
...
Support python>3.8 for verp emails and reduce size by truncating hmac and storing time in minutes since 2022-01-01
2022-04-22 10:11:31 +02:00
Adrià Casajús
0f14c3e74e
Move some comments as docstrings
2022-04-21 15:25:06 +02:00
Adrià Casajús
112b2c77c3
Add backwards compat with shake128 signed verp emails
2022-04-21 11:30:39 +02:00
Son
0f7ccec51a
handle the AttributeError that can also be raised by as_bytes()
2022-04-21 11:28:11 +02:00
Adrià Casajús
c573ef655e
Store bounces in the reply phase to prevent abuse
2022-04-21 11:23:58 +02:00
Son
bddb5e500a
able to handle several noreply addresses
...
This prepares the change of noreply@simplelogin.co to noreply@simplelogin.io
2022-04-21 08:59:46 +02:00
Adrià Casajús
af24876c71
Use sha3 and truncate to 8 bytes and store time in minutes starting at 2022-01-01
2022-04-20 20:46:35 +02:00
Son Nguyen Kim
9b624edf11
Merge pull request #901 from simple-login/no-dot-in-reverse-alias
...
use _ instead of . in reverse alias
2022-04-19 18:24:37 +02:00
Adrià Casajús
bad9202cf8
Calculate proper padding when decoding base32
2022-04-19 10:50:25 +02:00
Son Nguyen Kim
259851a04e
Merge pull request #860 from acasajus/remove-softfail
...
Generate secure transactional emails from address
2022-04-19 09:28:47 +02:00
Son
8dfdac79bf
use _ instead of . in reverse alias
...
to avoid AC_FROM_MANY_DOTS SpamAssassin rule
2022-04-15 17:34:29 +02:00
Adrià Casajús
d28980a810
Format
2022-04-14 18:27:20 +02:00
Adrià Casajús
4bcc728222
Merge remote-tracking branch 'origin/master' into remove-softfail
...
* origin/master: (34 commits)
fix flake8
add link to the anti phishing page
improve email wording
Move tests
Only send enum names
Only send enum name for events intead of the full class.enum
Also track login and register events from the api routes
typo
revert changes
Added fix for parts that are not messages
Add missing formatting place
Revert unwanted changes
Do not show an error if we receive an unsubscribe from a different address
Revert changes to pgp_utils
fix import
Send newrelic events on login and register
PR changes
format
Move dmarc management to its own file
ignore VERPTransactional
...
2022-04-14 18:25:03 +02:00
Son
debed67c68
return whether a domain is custom or primary in GET /api/v5/alias/options
2022-04-14 17:28:40 +02:00
Son
a957cbb3c0
fix flake8
2022-04-14 09:47:58 +02:00
Son
1709de93ef
add link to the anti phishing page
2022-04-14 09:28:26 +02:00
Son
95770de4d5
improve email wording
2022-04-14 09:23:49 +02:00
Adrià Casajús
ca93c8e603
Merge remote-tracking branch 'origin/master' into ac-dmarc-reply-phase
...
* origin/master:
Only send enum name for events intead of the full class.enum
Also track login and register events from the api routes
typo
revert changes
Added fix for parts that are not messages
Add missing formatting place
Revert unwanted changes
Do not show an error if we receive an unsubscribe from a different address
Revert changes to pgp_utils
Send newrelic events on login and register
2022-04-12 12:48:46 +02:00
Adrià Casajús
0f91effce9
Only send enum names
2022-04-12 09:34:05 +02:00
Adrià Casajús
9928525cf9
Only send enum name for events intead of the full class.enum
2022-04-12 09:04:57 +02:00
Son Nguyen Kim
7a0fd34823
Merge pull request #886 from simple-login/ac-fix-unauthorized-email
...
Do not assume all parts in multipart messages are processed as messages
2022-04-11 17:54:35 +02:00
Adrià Casajús
2b149747f5
Also track login and register events from the api routes
2022-04-11 16:11:01 +02:00
Adrià Casajús
8da4293305
typo
2022-04-11 16:04:28 +02:00
Adrià Casajús
c16fd25b2e
Added fix for parts that are not messages
2022-04-11 15:52:31 +02:00
Adrià Casajús
ae8824a356
Revert unwanted changes
2022-04-11 14:20:56 +02:00
Adrià Casajús
7649f6b822
Do not show an error if we receive an unsubscribe from a different address
2022-04-11 14:19:32 +02:00
Adrià Casajús
dc59b61fba
Revert changes to pgp_utils
2022-04-11 10:20:02 +02:00
Adrià Casajús
f333bb00c5
fix import
2022-04-11 10:19:25 +02:00
Adrià Casajús
60a070731e
Send newrelic events on login and register
2022-04-11 10:18:22 +02:00
Adrià Casajús
7fdd7d7f6a
PR changes
2022-04-11 09:28:57 +02:00
Adrià Casajús
0dbe504329
format
2022-04-08 14:23:59 +02:00
Adrià Casajús
8df6d98522
Merge remote-tracking branch 'origin/master' into ac-dmarc-reply-phase
2022-04-08 11:34:12 +02:00
Adrià Casajús
68e58c0876
Move dmarc management to its own file
2022-04-08 11:28:14 +02:00
Adrià Casajús
b128d64563
Moved spamd check to a custom file and cached the result
2022-04-07 19:17:37 +02:00
Adrià Casajús
0e3c46d944
Save original envelope for debugging
2022-04-06 17:31:46 +02:00
Adrià Casajús
8ca1be0166
Apply dmarc policy to the reply phase
2022-04-06 12:51:04 +02:00
Adrià Casajús
451e69a3c4
More rebase fixes
2022-03-30 16:09:17 +02:00
Adrià Casajús
dce9e633bf
fix
2022-03-30 16:02:05 +02:00
Adrià Casajús
db06ce0ae6
Create signed email addresses for VERP emails
2022-03-30 16:00:02 +02:00
Son
67c2c6afad
add warning to email content when dmarc softfail
2022-03-30 19:48:07 +07:00
Son Nguyen Kim
110f2f2f2c
Merge pull request #861 from acasajus/spf-dmarc-backscatter
...
Reduce backscatter by checking return-path domain SPF status
2022-03-30 19:44:39 +07:00
Son Nguyen Kim
f7a98bc7d2
Merge pull request #862 from simple-login/ac/sanitize-next
...
Properly validate //host.com urls
2022-03-30 19:40:36 +07:00
Adrià Casajús
83fc8964a8
PR comments
2022-03-30 09:53:35 +02:00
Son Nguyen Kim
d561bae7dd
Merge pull request #864 from simple-login/ac/insecure-random
...
Replace using random with secrets for security purposes
2022-03-30 11:49:33 +07:00
Adrià Casajús
1555bc6346
fix test
2022-03-29 21:03:55 +02:00
Adrià Casajús
19e87a7156
More random to secrets
2022-03-29 18:42:28 +02:00
Adrià Casajús
b15facb6e4
Use secrets instead of random
2022-03-29 18:40:52 +02:00
Adrià Casajús
97ef5ff765
Fix oauth redirect when clientid is invalid
2022-03-29 18:37:01 +02:00
Adrià Casajús
a9e31cff26
Fix tests
2022-03-29 18:34:13 +02:00
Adrià Casajús
c5b0f5304e
Format
2022-03-29 18:18:11 +02:00
Adrià Casajús
d6df5e0ea0
Add limiters to auth routes
2022-03-29 18:14:13 +02:00
Adrià Casajús
e91fd26964
Sanitized missing places
2022-03-29 18:03:18 +02:00
Adrià Casajús
fe9161b101
Properly validate //host.com urls when redirecting after receiving a next param
2022-03-29 17:53:00 +02:00
Adrià Casajús
085c166cb2
Replace 5XX with 2XX for return path that fail SPF check
2022-03-29 15:09:10 +02:00
Adrià Casajús
7d36256b7c
Check return-path spf record before bouncing a message
2022-03-29 10:52:11 +02:00
Son
0d7d56c0ea
send email when an email is put to quarantine
2022-03-25 18:02:17 +01:00
Son
63b1100a8b
log event when there's no dmarc result
2022-03-25 16:19:11 +01:00
Son
ce2d2a3b3a
fix case where header isn't string
2022-03-25 16:17:58 +01:00
Son
32fd65b69b
add more log for alias transfer
2022-03-23 18:33:33 +01:00
Son Nguyen Kim
3d30870395
Merge pull request #849 from acasajus/new/parse-rpamd-headers
...
Return 200 on fishy dmarc result
2022-03-22 17:36:45 +01:00
Son Nguyen Kim
99b05034b0
Merge pull request #843 from acasajus/new/parse-rpamd-headers
...
Parse rspamd headers and apply dmarc policy if found.
2022-03-22 17:13:11 +01:00
Adrià Casajús
517bcb632e
MR changes
2022-03-22 17:02:59 +01:00
Son
5b3688b6df
set a domain for message-id
2022-03-22 11:02:02 +01:00
Adrià Casajús
5f831d593a
CamelCase to snake_case
2022-03-21 17:59:43 +01:00
Adrià Casajús
45459d65be
PR comments
2022-03-21 17:43:26 +01:00
Son
f554375f23
decode, replace and encode for base64 encoding
2022-03-21 17:29:22 +01:00
Son
1952f368a8
require password to use the api key page
2022-03-21 14:40:47 +01:00
Son
9dc7cff87f
add rate limiting for /auth/mfa
2022-03-21 14:23:35 +01:00
Son
a662ef4aee
remove g.deduct_limit in api auth endpoint
2022-03-21 14:23:20 +01:00
Adrià Casajús
06a1363e92
Updated MR comments
2022-03-21 12:03:11 +01:00
Adrià Casajús
cdea0f5ee2
Rename header
2022-03-21 10:43:19 +01:00
Adrià Casajús
44dd06fabf
Added spoofed email test
2022-03-21 10:43:18 +01:00
Adrià Casajús
c9cbaeb460
format
2022-03-21 10:43:17 +01:00
Adrià Casajús
e8013f8e0c
Initial parse of rpamd extra headers
2022-03-21 10:43:17 +01:00
Son
0931642d11
use 10.0.0.0 network instead of 240.0.0.0
2022-03-20 10:38:58 +01:00
Son
fa2f83dbf4
fix and refactor
2022-03-16 10:24:59 +01:00
Son
7e0992b767
add mime version header for transactional email
2022-03-14 19:23:38 +01:00
Son Nguyen Kim
79154378f2
Merge pull request #836 from cquintana92/feature/allow-to-edit-manual-subscription
...
Allow to edit manual subscription
2022-03-14 18:07:07 +01:00
Carlos Quintana
ed58e811d1
Allow to edit manual subscription
2022-03-14 16:47:30 +01:00
Adrià Casajús
479a7420cb
Useful time format
2022-03-14 15:40:50 +01:00
Adrià Casajús
b463ba8f41
Added filter
2022-03-14 15:33:09 +01:00
Adrià Casajús
bf177ac5ba
Remove unused
2022-03-14 15:29:17 +01:00
Adrià Casajús
9b16143e59
Show nicer admin logs
2022-03-14 15:28:53 +01:00
Adrià Casajús
553d8976be
Added extend subscription log
2022-03-14 15:07:51 +01:00
Adrià Casajús
549c6ec7d3
Comment changes
2022-03-11 11:37:14 +01:00
Adrià Casajús
4368fd323f
Less changes
2022-03-10 18:13:33 +01:00
Adrià Casajús
d0860cd54d
Merge remote-tracking branch 'origin/master' into new/admin-audit-trail
...
* origin/master: (35 commits)
reduce nb of commit
show "more" only when a notification has a title. Show either title or message. Use bold font when a notification isn't read
create a notification when an alias is disabled
mark a notification as read when user arrives on the notification page
Use plausible outbound link tracking
add more log
fix discover page
fix
fix "local variable 'alias_id' referenced before assignment"
make sure to close session in monitoring
use Date instead of date for header value
lessen alias automatic disable check
refactor
return the block reason in should_disable()
add adhoc upgrade on admin
add extend subscription for 1 month to admin
disable edition on admin
comment out some admin pages
fix migration
fix duplicated stats
...
2022-03-10 18:10:13 +01:00
Adrià Casajús
733efc387c
Updated admin view
2022-03-10 17:49:30 +01:00
Adrià Casajús
98c942d84a
Added admin log view
2022-03-10 17:32:35 +01:00
Adrià Casajús
bc82bab1eb
Added alembic migration
2022-03-10 16:37:21 +01:00
Adrià Casajús
1d15af53b7
Add an audit log for the admin panel
2022-03-10 16:13:31 +01:00
Son
0e3a5c3d3c
mark a notification as read when user arrives on the notification page
2022-03-09 17:58:26 +01:00
Son
6f80edfd64
fix discover page
2022-03-08 16:38:03 +01:00
Son
a64a70cbc8
use Date instead of date for header value
2022-03-07 15:57:29 +01:00
Son
350f498b94
lessen alias automatic disable check
2022-03-07 15:50:58 +01:00
Son
71136669e9
return the block reason in should_disable()
2022-03-07 15:44:27 +01:00
Son
f7ba3873d0
add adhoc upgrade on admin
2022-03-02 19:05:17 +01:00
Son
52a911f9d3
add extend subscription for 1 month to admin
2022-03-02 19:04:45 +01:00
Son
b2d8f5a017
disable edition on admin
2022-03-02 19:04:30 +01:00
Son
627b2e56d9
comment out some admin pages
2022-02-28 16:40:07 +01:00
Son Nguyen Kim
6a520e110c
Merge pull request #816 from simple-login/feature/include-sender-in-header
...
Feature/include sender in header
2022-02-28 09:24:18 +01:00
Son
205d8d7d3f
add index for Alias custom_domain_id and directory_id columns
2022-02-26 17:51:50 +01:00
Son
4faf0d7636
optimize dashboard page: load custom domain using joinedload() instead of explicit join
2022-02-26 17:34:53 +01:00
Son Nguyen Kim
7df93c2ee5
Merge pull request #813 from cquintana92/feature/make-nameservers-configurable
...
Make nameservers configurable
2022-02-25 12:29:50 +01:00
Son
007aa56551
user can turn on/off the including sender in header option
2022-02-25 12:24:54 +01:00
Son
51598ada02
add User.include_header_email_header column
2022-02-25 12:24:54 +01:00
Carlos Quintana
e9dd73e99b
Replace env by os.environ.get
2022-02-25 11:19:49 +01:00
Adrià Casajús
01cc65bdca
Allow to have lower priority MX servers
2022-02-24 17:23:45 +01:00
Carlos Quintana
8f339923f8
Make nameservers configurable
2022-02-24 15:05:05 +01:00
Son
7da06ba424
return 422 if account not activated
2022-02-22 22:12:36 +01:00
Son Nguyen Kim
e9d134fe8f
Merge pull request #784 from FozzieHi/fix-testing-warnings
...
Fix deprecation warnings.
2022-02-21 17:12:36 +01:00
Son Nguyen Kim
e55c3a155b
Merge pull request #803 from acasajus/fix/sentry-APP-ZP
...
Only allow authenticated and enabled users to accept a OAuth post request
2022-02-21 17:11:53 +01:00
Adrià Casajús
4b13d5a28c
Fix test
2022-02-21 16:03:39 +01:00
Son Nguyen Kim
7d008228e3
Merge pull request #811 from cquintana92/feature/ignore-or-reject-for-blocked-contacts
...
Allow to configure ignore or reject response for blocked contacts
2022-02-21 15:55:48 +01:00
Son Nguyen Kim
bfcd75bdea
Merge pull request #801 from acasajus/new/no-reply
...
Send support questions to the support ticket page
2022-02-21 15:07:27 +01:00
Carlos Quintana
ee9170bb17
Allow to configure ignore or reject response for blocked contacts
2022-02-21 12:52:21 +01:00
Adrià Casajús
33163660f7
PR comments
2022-02-21 12:30:26 +01:00
Adrià Casajús
3e983e3557
Only allow authenticated and enabled users to accept a OAuth post request
2022-02-17 17:25:04 +01:00
Adrià Casajús
b0ac2f871a
Fixes
2022-02-17 13:21:40 +01:00
Adrià Casajús
398c1a55f1
Change SUPPORT_EMAIL to NOREPLY
2022-02-17 13:18:52 +01:00
Adrià Casajús
15ce7b00d8
Reply to noreply@... once per user
2022-02-16 18:38:31 +01:00
Carlos Quintana
2a751624a8
Default ALLOWED_REDIRECT_DOMAINS to URL if it's not set
2022-02-16 16:16:14 +01:00
Carlos Quintana
b4e291d4fd
Make NextUrlSanitizer a static class
2022-02-16 16:05:50 +01:00
Carlos Quintana
6be99bc576
Do not account for urlencoded redirects
2022-02-16 16:02:13 +01:00
Carlos Quintana
a44acf1846
Add support for allowed redirect domains
2022-02-16 09:38:55 +01:00
Carlos Quintana
39222cf868
Simplify conditional
2022-02-15 16:33:30 +01:00
Carlos Quintana
2f9489fe39
Only allow relative redirects
2022-02-15 15:16:31 +01:00
Son
728d935d65
add ZENDESK_ENABLED param
2022-02-14 18:08:32 +01:00
Son
c3cd1419f9
reformat code: put POST handling on top
2022-02-14 18:02:54 +01:00
Son
a0bb4e9ccc
more verbose error
2022-02-14 18:02:30 +01:00
Son Nguyen Kim
69c8980c18
Merge pull request #792 from acasajus/new/zendesk-support
...
Create support tickets via zendesk
2022-02-14 17:53:30 +01:00
Adrià Casajús
416e7b363a
PR fixes
2022-02-14 15:58:36 +01:00
Adrià Casajús
305ce38379
PR changes
2022-02-14 11:19:03 +01:00
Adrià Casajús
700856053a
PR comment fixes
2022-02-11 13:32:31 +01:00
Adrià Casajús
8120128a51
Added Zendesk token
2022-02-10 12:59:48 +01:00
Adrià Casajús
639d4412e1
Updated comments from PR
2022-02-10 12:47:31 +01:00
Adrià Casajús
c9974d5321
Removed successful ticket created page and replaced with notification
2022-02-10 12:38:56 +01:00
Adrià Casajús
3fedc84c95
Add rate limit to ticket createion
2022-02-10 12:34:46 +01:00
Son Nguyen Kim
c18f9658b0
Merge pull request #787 from FozzieHi/test-config
...
Update testing suite and refactor.
2022-02-10 11:37:36 +01:00
Adrià Casajús
e844c9a392
Removed disabled page and redirected to the normal dashboard
2022-02-10 11:04:36 +01:00
Adrià Casajús
f59c5499fb
Formatting
2022-02-10 10:30:28 +01:00
Adrià Casajús
8aee883aae
Updated with more PR comments
2022-02-09 16:41:04 +01:00
Adrià Casajús
95fa95649d
Added comments from PR
2022-02-09 16:20:55 +01:00
Adrià Casajús
e57dcac2d2
Added zendesk submission flow
2022-02-09 12:00:48 +01:00
Adrià Casajús
219d5b998f
Add a suport form to create tickets in zendesk
2022-02-08 22:04:25 +01:00
Son
5b62f5a745
add rate limit to /auth/register
2022-02-07 18:45:41 +01:00
george
c415324932
Add flake8-bugbear
2022-02-06 20:37:43 +00:00
george
f7be992437
Update black, flake8 and pre-commit and use specific pre-commit versions.
2022-02-06 14:25:53 +00:00
Son
5da31f53b4
add MONITORING_EMAIL param
2022-02-04 15:43:40 +01:00
george
936d90a5f5
Fix deprecation warnings.
2022-02-04 13:49:38 +00:00
Son
4d1c4cfdff
support pinned parameter in /api/v2/aliases
2022-02-03 11:16:49 +01:00
Son Nguyen Kim
543923b325
Merge pull request #760 from FozzieHi/delete-all-api-keys-button
...
Add a button to delete all API Keys
2022-02-02 18:31:05 +01:00
Son
049bd746ad
refactor shell
2022-01-26 15:22:37 +01:00
Son
5a712f3877
make sure subdomain can only contain lowercase letters, numbers and dashes.
2022-01-26 14:53:27 +01:00
george
74713c2142
Rename method.
2022-01-25 18:32:34 +00:00
Son Nguyen Kim
89a800eed9
Merge pull request #753 from FozzieHi/totp-invalid-login-email
...
Invalid TOTP and recovery code email notifications
2022-01-24 18:35:52 +01:00
Son
fc3f06f4d8
create notification listing page
2022-01-24 16:45:36 +01:00
Son
90fa4abf69
create a notification for a bounce email
2022-01-24 16:10:36 +01:00
Son
1de6fefc59
add notification detail page
2022-01-24 15:22:01 +01:00
Son
5b7949f346
return title in /api/notifications
2022-01-24 15:20:59 +01:00
Son
3422f038eb
add Notification title
2022-01-24 15:18:56 +01:00
george
65531b5c63
Add a button to delete all API Keys.
2022-01-23 18:38:54 +00:00
Son
e73288354d
remove IGNORED_EMAILS variable
2022-01-21 19:30:27 +01:00
george
ab72927a16
Update text.
2022-01-20 18:24:28 +00:00
george
50122da0fe
Implement API notifications and use a function in email_utils
2022-01-20 17:42:11 +00:00
george
42407a0543
Send the email after the local error.
2022-01-20 16:44:15 +00:00
george
f7f91afc1e
Send a notification email for invalid recovery codes.
2022-01-20 16:41:42 +00:00
george
6d736aa915
Implement rate limiting with send_email_with_rate_control.
2022-01-20 15:05:18 +00:00
george
0eb2984b9c
Add invalid TOTP login email notifications.
2022-01-20 14:18:47 +00:00
Son
b929dc5462
check if alias is not none
2022-01-18 09:40:50 +01:00
Son
0806f9243e
return custom domain json in patch
2022-01-16 17:26:11 +01:00
Son
841621dbe2
handle the case mailboxes is empty in try_auto_create_via_domain
2022-01-13 09:33:32 +01:00
Son
4cea47cc27
add setting for include_website_in_one_click_alias
2022-01-12 11:50:49 +01:00
Son
6cd8e45d21
return the default sender format (AT) in case user uses a non-supported sender format
2022-01-12 10:19:25 +01:00
Son
c0067b7657
add more log
2022-01-10 15:58:22 +01:00
Son
73d781cf6b
handle non number alias_id
2022-01-10 10:44:41 +01:00
Son
9c696bd038
ignore VERPReply
2022-01-09 20:35:57 +01:00
Son
6cdf5637aa
validate the alias address before creating
2022-01-09 20:22:41 +01:00
Son
a0727435eb
use warning level
2022-01-09 20:13:41 +01:00
Son
c5e4dd6d16
save email for debug with error name as prefix
2022-01-08 16:58:23 +01:00
Son
862d0e7a11
warn users if SL is used with another forwarding service
2022-01-08 00:42:03 +01:00
Son
ed4acebdb1
delete the email log in reply phase if NonReverseAliasInReplyPhase
2022-01-08 00:28:26 +01:00
Son
01ba5e8bf0
return 5** if CannotCreateContactForReverseAlias
2022-01-08 00:16:16 +01:00
Son
20b6ce29fc
take into account authorized_address when checking email loop
2022-01-08 00:09:45 +01:00
Son
d4e31257fa
make sure to output exception name in log
2022-01-07 16:45:12 +01:00
Son
fb87225d2d
raise error when receiving emails sent from reverse alias
2022-01-07 16:14:21 +01:00
Son
d4e1aec875
refactor
2022-01-07 14:57:47 +01:00
Son
6b31b8926e
fix comment
2022-01-07 14:27:53 +01:00
Son
1bdae7fbe8
handle CannotCreateContactForReverseAlias when user creates a new contact
2022-01-07 10:47:36 +01:00
Son
5195c9de8b
raise error when a non reverse-alias is used during the reply phase
2022-01-07 10:34:08 +01:00
Son
84d1f22a7b
add Contact.automatic_created column to know which contact is created during the forward phase
2022-01-07 10:21:31 +01:00
Son
ad622df071
make sure a contact with website_email=reverse alias of another contact can't be created
2022-01-07 10:04:12 +01:00
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