Andrew Morgan
3719680ee4
Add ability to perform password reset via email without trusting the identity server ( #5377 )
...
Sends password reset emails from the homeserver instead of proxying to the identity server. This is now the default behaviour for security reasons. If you wish to continue proxying password reset requests to the identity server you must now enable the email.trust_identity_server_for_password_resets option.
This PR is a culmination of 3 smaller PRs which have each been separately reviewed:
* #5308
* #5345
* #5368
2019-06-06 17:34:07 +01:00
Brendan Abolivier
20f0617e87
Send out emails with links to extend an account's validity period
2019-04-17 14:42:20 +01:00
Richard van der Hoff
f5faf6bc14
Fix logcontext leak in EmailPusher
2018-11-19 17:07:01 +00:00
Amber Brown
0dce9e1379
Write some tests for the email pusher ( #4095 )
2018-10-30 23:55:43 +11:00
Richard van der Hoff
cc325c7069
Calculate absolute path for email templates
2018-10-19 14:01:59 +01:00
Richard van der Hoff
1519572961
Ship the email templates as package_data
...
move the example email templates into the synapse package so that they can be
used as package data, which should mean that all of the packaging mechanisms
(pip, docker, debian, arch, etc) should now come with the example templates.
In order to grandfather in people who relied on the templates being in the old
place, check for that situation and fall back to using the defaults if the
templates directory does not exist.
2018-10-17 16:46:02 +01:00
Neil Johnson
7de1989ea2
fix link for case that config.email_riot_base_url is set
2018-09-13 22:43:50 +01:00
Amber Brown
7c27c4d51c
merge ( #3576 )
2018-09-14 03:11:11 +10:00
Amber Brown
b37c472419
Rename async to async_helpers because `async` is a keyword on Python 3.7 ( #3678 )
2018-08-10 23:50:21 +10:00
Amber Brown
49af402019
run isort
2018-07-09 16:09:20 +10:00
Amber Brown
c936a52a9e
Consistently use six's iteritems and wrap lazy keys/values in list() if they're not meant to be lazy ( #3307 )
2018-05-31 19:03:47 +10:00
Erik Johnston
11c2a3655f
Only load jinja2 templates once
...
Instead of every time a new email pusher is created, as loading jinja2
templates is slow.
2017-05-22 17:48:58 +01:00
Daniel Dent
5058292537
Support authenticated SMTP
...
Closes (SYN-714) #1385
Signed-off-by: Daniel Dent <matrixcontrib@contactdaniel.net>
2017-04-05 21:01:08 -07:00
Erik Johnston
8ffbe43ba1
Get current state by using current_state_events table
2017-03-10 17:39:35 +00:00
Erik Johnston
51adaac953
Fix email push in pusher worker
...
This was broken when device list updates were implemented, as Mailer
could no longer instantiate an AuthHandler due to a dependency on
federation sending.
2017-02-02 10:53:36 +00:00
Adrian Perez de Castro
a3e4a198e3
Allow configuring the Riot URL used in notification emails
...
The URLs used for notification emails were hardcoded to use either matrix.to
or vector.im; but for self-hosted setups where Riot is also self-hosted it
may be desirable to allow configuring an alternative Riot URL.
Fixes #1809 .
Signed-off-by: Adrian Perez de Castro <aperez@igalia.com>
2017-01-13 17:12:04 +02:00
Erik Johnston
8ca05b5755
Fix push notifications for a single unread message
2016-10-18 10:57:33 +01:00
Erik Johnston
1d107d8484
Fix email push notifs being dropped
...
A lot of email push notifications were failing to be sent due to an
exception being thrown along one of the (many) paths. This was due to a
change where we moved from pulling out the full state for each room, but
rather pulled out the event ids for the state and separately loaded the
full events when needed.
2016-10-13 13:40:38 +01:00
Erik Johnston
d80f64d370
Fix email notifs by adding missing param
2016-08-30 21:46:39 +01:00
Erik Johnston
a234e895cf
Fix room name in email notifs
2016-08-26 14:10:21 +01:00
Erik Johnston
7356d52e73
Fix up push to use get_current_state_ids
2016-08-25 18:35:49 +01:00
Mark Haines
ded01c3bf6
Fix ``KeyError: 'msgtype'``. Use ``.get``
...
Fixes a key error where the mailer tried to get the ``msgtype`` of an
event that was missing a ``msgtype``.
```
File "synapse/push/mailer.py", line 264, in get_notif_vars
File "synapse/push/mailer.py", line 285, in get_message_vars
File ".../frozendict/__init__.py", line 10, in __getitem__
return self.__dict[key]
KeyError: 'msgtype'
```
2016-06-17 13:49:16 +01:00
David Baker
72c4d482e9
3rd time lucky: we'd already calculated it above
2016-06-03 16:39:50 +01:00
David Baker
fbf608decb
Oops, we're using the dict form
2016-06-03 16:38:39 +01:00
David Baker
06d40c8b98
Add substitutions to email notif From
2016-06-03 16:31:23 +01:00
Matthew Hodgson
8d740132f4
Merge branch 'develop' into matthew/brand-from-header
2016-06-03 12:14:18 +01:00
Matthew Hodgson
79d1f072f4
brand the email from header
2016-06-02 21:34:40 +01:00
David Baker
6bb9aacf9d
Merge pull request #821 from matrix-org/dbkr/email_unsubscribe
...
Email unsubscribe links that don't require logging in
2016-06-02 17:44:55 +01:00
David Baker
745ddb4dd0
peppate
2016-06-02 17:38:41 +01:00
David Baker
7a5a5f2df2
Merge pull request #820 from matrix-org/dbkr/email_notif_string_fmt_error
...
Fix error in email notification string formatting
2016-06-02 17:26:06 +01:00
David Baker
1f31cc37f8
Working unsubscribe links going straight to the HS
...
and authed by macaroons that let you delete pushers and nothing else
2016-06-02 17:21:31 +01:00
Matthew Hodgson
2675c1e40e
add some branding debugging
2016-06-02 17:21:12 +01:00
David Baker
c71177f285
Merge remote-tracking branch 'origin/dbkr/email_notif_string_fmt_error' into dbkr/email_unsubscribe
2016-06-02 17:20:56 +01:00
David Baker
07a5559916
Fix error in email notification string formatting
2016-06-02 17:17:16 +01:00
David Baker
812b5de0fe
Merge remote-tracking branch 'origin/develop' into dbkr/email_unsubscribe
2016-06-02 15:33:28 +01:00
David Baker
3a3fb2f6f9
Merge branch 'dbkr/split_out_auth_handler' into dbkr/email_unsubscribe
2016-06-02 13:35:25 +01:00
Matthew Hodgson
f84b89f0c6
if an email pusher specifies a brand param, use it
2016-06-02 13:29:48 +01:00
David Baker
a15ad60849
Email unsubscribing that may in theory, work
...
Were it not for that fact that you can't use the base handler in the pusher because it pulls in the world. Comitting while I fix that on a different branch.
2016-06-02 11:44:15 +01:00
David Baker
e793866398
Use user_id in email greeting if display name is null
2016-06-02 09:41:13 +01:00
David Baker
b007ee4606
Check for presence of 'avatar_url' key
2016-05-24 15:12:05 +01:00
Matthew Hodgson
cb8a321bdd
fix NPE in room ordering
2016-05-23 22:54:56 +01:00
Matthew Hodgson
88ea5ab2c3
consistency is the better part of valour
2016-05-23 19:33:45 +01:00
Matthew Hodgson
989bdc9e56
Tune email notifs to make them quieter:
...
* After initial 10 minute window, only alert every 24h for room notifs
* Reset room state after 6h of idleness
* Synchronise throttles for messages sent in the same notif, so the 24 hourly notifs 'line up'
* Fix the email subjects to say what triggered the notification
* Order the rooms in reverse activity order in the email, so the 'reason' room should always come first
2016-05-23 19:24:11 +01:00
Matthew Hodgson
cbd2adc95e
tune email notifs, fix CSS a bit, and add debugging details
2016-05-16 18:58:38 +01:00
Matthew Hodgson
782471b7e1
fix matrix.to URLs
2016-05-13 17:50:16 +01:00
David Baker
b5e646a18c
Make email notifs work on the pusher synapse
...
Plus general bugfix to email notif code
2016-05-13 11:36:50 +01:00
Mark Haines
7e23476814
move filter_events_for_client out of base handler
2016-05-11 13:42:37 +01:00
David Baker
e04b1d6b0a
Make pep8 happy
2016-05-10 14:23:16 +02:00
Matthew Hodgson
5599608887
Switch from CSS to Table layout for HTML mails so they work in Outlook aka Word
...
Remove templates-vector and theme templates with variables instead
Switch to matrix.to URLs by default for links
2016-05-10 00:14:48 +02:00
Matthew Hodgson
53ca739f1f
better mail subject lines
2016-05-05 15:55:44 +01:00
Matthew Hodgson
81c2176cba
fix layout; handle app naming in synapse, not jinja
2016-05-05 15:54:29 +01:00
Matthew Hodgson
634efb65f1
pep8
2016-05-05 02:10:57 +01:00
Matthew Hodgson
ce81ccb063
handle fragments correctly on mxc URLs.
...
switch to vector.im permalinks as matrix.to isn't ready yet.
merge overlapping notifications together.
give one message of context after a notification (in the unlikely event it exists, but it's possible thanks to throttling).
include name of app in mail templates
2016-05-05 02:00:33 +01:00
David Baker
39d0a99972
Include no context
...
until we can de-dup between the context and other notifs
2016-05-04 14:52:49 +01:00
David Baker
9ef05a12c3
Add date header & message id
2016-05-04 14:52:10 +01:00
David Baker
e7a76b5123
Use the constant
2016-04-29 19:10:45 +01:00
David Baker
29c8cf8db8
Avoid `vars` builtin
2016-04-29 19:09:28 +01:00
David Baker
d3da5294e8
Use named parameter format
2016-04-29 19:04:40 +01:00
David Baker
311b5ce051
pep8
2016-04-29 14:37:30 +01:00
David Baker
40d40e470d
Send mail notifs with a plaintext part too
2016-04-29 13:56:21 +01:00
David Baker
e800ee2f63
May as well always include room link
2016-04-28 17:28:27 +01:00
David Baker
68f8fc2f14
Support file messages & fix plain text
2016-04-28 16:59:57 +01:00
David Baker
4845c7359d
Support image notifs
2016-04-28 15:55:53 +01:00
David Baker
60f86fc876
pep8
2016-04-28 15:16:30 +01:00
David Baker
ebbabc4986
Handle room invites in email notifs
2016-04-28 11:49:36 +01:00
David Baker
9dba1b668c
Linkify plain text messages too
2016-04-28 10:55:08 +01:00
David Baker
424a7f48f8
Run filter_events_for_client
...
so we don't accidentally mail out events people shouldn't see
2016-04-27 17:50:49 +01:00
David Baker
4ed1e45869
Make html messages work
2016-04-27 17:18:51 +01:00
David Baker
8781083960
Better grammar for multiple messages in a room
...
Say who the messages are from if there's no room name, otherwise it's a bit nonsensical
2016-04-27 15:30:41 +01:00
David Baker
fa12209c1b
Hopefully all remaining bits for email notifs
...
Add public facing base url to the server so synapse knows what URL to use when converting mxc to http urls for use in emails
2016-04-27 15:09:55 +01:00
David Baker
7b4715bad7
More variable calculation for email notifs
...
Include name of the person we're sending to and add summary text at the top giving an overview of what's happened.
2016-04-25 18:27:04 +01:00
David Baker
bd0f9c2065
Actually do UTF8 correctly
2016-04-22 18:42:00 +01:00
David Baker
83bf65297a
Mime part is binary so encode it first.
...
Doesn't get character enocind right yet but makes it not error.
2016-04-22 18:31:47 +01:00
David Baker
c10ed26c30
Flesh out email templating
...
Mostly WIP porting the room name calculation logic from the web client so our room names in the email mirror the clients.
2016-04-21 19:19:07 +01:00
David Baker
2ed0adb075
Generate mails from a template
2016-04-20 18:35:29 +01:00
David Baker
05adc6c2de
more pep8
2016-04-20 13:02:45 +01:00
David Baker
f63bd4ff47
Send a rather basic email notif
...
Also pep8 fixes
2016-04-20 13:02:01 +01:00