Commit Graph

254 Commits

Author SHA1 Message Date
Neil Lalonde
45f368126f FEATURE: New summary/digest email design 2016-11-18 14:03:42 -05:00
Régis Hanol
829143bf88 FIX: 'List-Unsubscribe' header wasn't added to emails sent when mailing_list_mode was enabled 2016-08-01 20:19:00 +02:00
Régis Hanol
7848a84e0e FIX: ensure summary emails have the 'List-Unsubscribe' header set 2016-07-15 11:39:29 +02:00
Robin Ward
5f91919663 Email support for watching first post 2016-07-07 12:23:19 -04:00
James Kiesel
7a6bc3f1d7 Apply notification styles to mailing list email manually (#4283)
* Apply notification styles to mailing list email manually

* Fix failing spec
2016-06-21 20:42:30 +05:30
Sam
852860de66 FEATURE: simpler and friendlier unsubscribe workflow
- All unsubscribes go to the exact same page
- You may unsubscribe from watching a category on that page
- You no longer need to be logged in to unsubscribe from a topic
- Simplified footer on emails
2016-06-17 11:28:49 +10:00
James Cook
c0e25b5a9a Replace certain uses of 'gsub' with 'tr' or 'chomp' for a speed
improvement
2016-06-10 22:08:37 -05:00
Arpit Jalan
40e9e1be66 FEATURE: user-friendly custom message 2016-06-08 18:23:22 +05:30
Arpit Jalan
4253141700 FEATURE: custom email message for topic invites 2016-06-07 23:43:15 +05:30
Arpit Jalan
7b205ebba4 FEATURE: customize invite email message 2016-06-06 20:15:30 +05:30
Régis Hanol
99ad251731 different email footer when mailing_list_mode is enabled 2016-06-03 15:48:54 +02:00
James Kiesel
feffe23cc5 FEATURE: More granular mailing list mode (#4068)
* Rearrange frontend to account for mailing list mode

* Allow update of user preference for mailing list frequency

* Add mailing list frequency estimate

* Simplify frequency estimate; disable activity summary for mailing list mode

* Remove combined updates

* Add specs for enqueue mailing list mode job

* Write mailing list method for mailer

* Fix linting error

* Account for stale topics

* Add translations for default mailing list setting

* One query for mailing list topics

* Fix failing spec

* WIP

* Flesh out html template

* First pass at text-based mailing list summary

* Add user avatar

* Properly format posts for mailing list

* Move make_all_links_absolute into Email::Styles

* Apply first_seen_at to user

* Send mailing list email summary hourly based on first_seen_at

* Branch and test cleanup

* Use existing mailing list mode estimate

* Fix failing specs
2016-05-21 15:17:54 +02:00
Arpit Jalan
51d194cc21 FIX: show invited by username when inviting to topic 2016-04-13 11:38:29 +05:30
Régis Hanol
a359a973e2 remove useless content when sending email to a staged used 2016-04-11 19:06:10 +02:00
Arpit Jalan
17afdc34cc UX: user invite email style should be consistent with other user notifications 2016-03-25 19:28:55 +05:30
Sam
c095304d6d FEATURE: limit daily emails per user to 100 per day via site setting
- controlled via max_emails_per_day_per_user, 0 to disable
- when limit is reached user is warned
2016-03-23 15:08:48 +11:00
Robin Ward
5771d2aee2 SECURITY: Support for confirm old as well as new email accounts 2016-03-08 14:52:22 -05:00
scossar
2d8b10d139 validate user locale 2016-03-04 13:21:30 -08:00
scossar
a20a52b25f add user locale 2016-03-03 17:21:50 -08:00
Régis Hanol
21b51090bf FIX: don't tell staged users they can visit topics in email notifications 2016-02-26 23:56:56 +01:00
Sam Saffron
820a435af8 FEATURE: add "email in-reply-to user option"
We no longer include previous replies as "context", instead
we include and excerpt of the post being replied to at the bottom
of notifications, this information was previously missing.

Users may opt in to emailing previous replies if they wish
or opt out of "in-reply-to" which makes sense in some email clients that
are smarter about displaying a tree of replies.
2016-02-26 00:05:59 +11:00
Régis Hanol
8d1da9cedd FEATURE: keep original title when sending email notifications about a PM 2016-02-23 01:34:16 +01:00
Régis Hanol
780c3ad755 Merge pull request #4008 from joebuhlig/master
Add tertiary color to email digests
2016-02-22 14:43:21 +01:00
Joe Buhlig
6763a9923a Added tertiary color to digest
Added hash to color in helper

Added anchor_color to topic and site name links

Styled the unsubscribe link
2016-02-22 07:02:21 -06:00
Sam
ab06f86fbe FEATURE: allow users to control how many previous replies they get
- always means we always send previous replies with every email
- never means we do not
- "unless previously sent" ... is the default, in which we only email you each reply once

The default_email_previous_replies site setting can control this toggle
2016-02-19 13:57:07 +11:00
Sam
3829c78526 PERF: shift most user options out of the user table
As it stands we load up user records quite frequently on the topic pages,
this in turn pulls all the columns for the users being selected, just to
discard them after they are loaded

New structure keeps all options in a discrete table, this is better organised
and allows us to easily add more column without worrying about bloating the
user table
2016-02-17 18:08:25 +11:00
Régis Hanol
63b9d1c645 FIX: sends an email notifcation when a user's post is linked 2016-02-16 18:29:23 +01:00
Régis Hanol
c740b42328 FIX: whitelist post_types used in context in email notifications 2016-02-12 12:10:30 +01:00
Régis Hanol
86819f08c3 FIX: use RFC-compliant previous replies separator 2016-02-11 18:48:09 +01:00
Régis Hanol
7d992cb4c5 FIX: sending emails to mailing list subscribers wasn't working 2016-02-03 19:27:58 +01:00
Régis Hanol
378b7f964c Revert "FEATURE (WIP): add max-width and center email notifications" 2016-01-29 11:13:59 +01:00
Arpit Jalan
26bba1f481 UX: preserve localization in digest email 2016-01-28 23:38:07 +05:30
Arpit Jalan
90d41a994a universal date format in digest email 2016-01-28 23:15:32 +05:30
scossar
3f09ec2aca add layout for notifications 2016-01-27 11:27:32 -08:00
Sam
1bb485fca5 FIX: when a user got multiple replies to a topic, emails were missing 2016-01-27 12:20:08 +11:00
James Kiesel
c7283751a3 Unsubscribe via email 2016-01-20 22:25:25 +13:00
Régis Hanol
3083657358 FEATURE: better email in support
FEATURE: new incoming_email model
FEATURE: infinite scrolling in emails admin
FEATURE: new 'emails:import' rake task
2016-01-19 00:57:55 +01:00
Jeff Wong
bffdc5907a username as from in emails
Add a site setting to display name in from header for emails
2015-12-15 00:34:04 -08:00
Régis Hanol
1d70434de5 use light email template for staged users 2015-12-09 19:45:46 +01:00
Sam
1f7c03df5c FIX: missing email notifications for group mentions 2015-12-01 12:12:55 +11:00
Sam
ad3dd161e7 FEATURE: first class group mentions built in
If you allow a group to be mentioned it can be mentioned with the @ symbol.

Keep in mind as a safety mechanism max_users_notified_per_group_mention is set to 100
2015-11-30 17:08:43 +11:00
Robin Ward
5e93140f85 FEATURE: Can override any translation via an admin interface 2015-11-27 11:35:19 -05:00
Régis Hanol
0d54c18c8b new hidden 'allow_staged_accounts' setting 2015-11-26 18:31:23 +01:00
Gerhard Schlager
4686383512 UX: Use localized date format in digest email 2015-11-13 21:45:52 +01:00
Arpit Jalan
734c272de8 UX: universal date format in digest email 2015-10-28 22:18:23 +05:30
Robin Ward
7bd51e7882 FIX: Don't incldue whispers in context emails 2015-09-30 12:39:56 -04:00
Gerhard Schlager
3dd9dbf757 Remove hard-coded fallback to English locale
In production mode the English locale is always used as fallback.
In development mode there is currently no fallback, so the English
locale isn't loaded and the second call to I18n.l() fails too.
2015-09-06 21:24:38 +02:00
Régis Hanol
6669a2d94d FEATURE: per-topic unsubscribe option in emails 2015-08-12 23:00:16 +02:00
Neil Lalonde
77595bcaa9 FEATURE: notify by email when there are posts from new users waiting to be reviewed 2015-06-18 15:47:35 -04:00
Arpit Jalan
5180d3e355 FEATURE: include email_prefix in digest email subject instead of site title 2015-06-03 22:22:29 +05:30
Neil Lalonde
f18140b81f FIX: digest emails weren't using user's last emailed and last seen times 2015-06-03 12:16:39 -04:00
Sam
739a6ff721 FIX: show category in subject not checking for category 2015-06-01 15:43:16 +10:00
Robin Ward
d0741f752f FIX: If a date translation is missing, don't raise an exception 2015-05-26 11:59:47 -04:00
Régis Hanol
52c19d74f8 FIX: error when user name was nil 2015-05-06 23:56:34 +02:00
Sam
c6fe90006e correcly grap name, omit needless query 2015-05-06 12:55:33 +10:00
Arpit Jalan
d9ec6888e1 FIX: allow site_name to be present in rejection email subject 2015-05-04 11:22:54 +05:30
Arpit Jalan
2932284293 FEATURE: magic login route for admin when SSO is enabled 2015-04-27 22:54:48 +05:30
Arpit Jalan
d5db44da87 FIX: include topic excerpt in topic/message invite mail for existing user 2015-04-07 12:02:04 +05:30
Arpit Jalan
8c2d7dcaac FEATURE: invite existing user to a topic 2015-04-03 15:00:04 +05:30
Arpit Jalan
6e5540c107 FIX: do not show name in email if name on posts are disabled 2015-02-18 01:39:41 +05:30
Robin Ward
3ce2077aa8 Migrate unsubscribe keys to the database.
This should reduce a lot of the keys in redis.
2015-02-13 14:24:15 -05:00
Arpit Jalan
9d5baf12ff FIX: set base_url for usage_tips 2015-02-10 23:04:00 +05:30
Arpit Jalan
c90251ea25 FIX: check for full name in invite email subject 2015-02-05 22:35:25 +05:30
Robin Ward
d6fa248093 UX: Update 404 page category badge to use centralized helper and style 2015-01-28 14:56:38 -05:00
Arpit Jalan
7771d2fb31 remove enable_email_names setting 2015-01-13 13:35:40 +05:30
Arpit Jalan
f84bdfdde3 FIX: if full user name is not provided, username should be present in email From header 2014-12-03 13:12:05 +05:30
Robin Ward
0777efe74d FIX: 1000 was a crazy threshold for showing categories at the bottom of
digests
2014-11-07 17:16:52 -05:00
Régis Hanol
fd5677808c SPEC: make sure digest doesn't pick any topics in categories that are muted 2014-11-03 16:57:50 +01:00
Arpit Jalan
8700716fcd separate site setting for showing full name in emails 2014-10-22 00:50:39 +05:30
Arpit Jalan
83068fab94 FEATURE: show full name in emails 2014-10-21 23:34:44 +05:30
Arpit Jalan
861f321263 FEATURE: send set password instructions after invite redemption 2014-10-11 14:13:05 +05:30
Neil Lalonde
96e4d2b662 remove the notification_email_top customization 2014-10-06 17:00:20 -04:00
Arpit Jalan
0ae0552543 FEATURE: show topic category in email subject 2014-10-03 22:08:59 +05:30
Arpit Jalan
330b7ba54a FEATURE: add site preference for standard subjects, including support for Re 2014-09-29 21:54:29 +05:30
Robin Ward
bc53d48bd7 Renaming site contents to site text 2014-09-24 16:08:14 -04:00
Régis Hanol
7bc223ef7c FEATURE: improve flags reminder email 2014-09-23 18:37:31 +02:00
Neil Lalonde
0a9e284277 FIX: rake admin:invite sends an email that makes it clear that an account was created for the recipient 2014-09-11 12:49:01 -04:00
Eyal Levin
e0c2f3df3a Enable RTL direction in emails. 2014-08-27 14:38:03 +03:00
Robin Ward
6783565d8f Revert "Enable RTL direction in emails." 2014-08-06 15:30:07 -04:00
Eyal Levin
f8c99a35d0 Enable RTL direction in emails. 2014-08-06 15:27:15 +03:00
riking
d87edce6c3 Pass rejection message along in rejection mail if present 2014-08-01 09:56:15 -07:00
riking
c8d322d1be Include the email subject line in rejection messages
This change has a tradeoff.
It increases our backscatter vulnerability - the subject could have spammy content - but it's extremely valuable to the user to know exactly which message was rejected.
If you sent two at the same time, and only one was rejected, you would have no way of knowing which worked and which to resend without going to the website (which is what email-in is trying to avoid, kinda).
2014-07-17 10:25:53 -07:00
Robin Ward
ede8f22971 Use the header background color for a site in the digest email. 2014-07-17 12:31:37 -04:00
Arpit Jalan
2f6c984c8c Improve invite email copy 2014-07-10 10:57:40 +05:30
Arpit Jalan
8395da5bd0 FIX: include topic title and domain name in topic invite mail 2014-07-10 10:05:28 +05:30
Arpit Jalan
223bbc3da3 FEATURE: include topic context in topic invite 2014-07-09 21:23:20 +05:30
riking
da9048f3ea Fix email code & tests 2014-06-27 12:04:31 -07:00
riking
420d3d651b Make sure from is present 2014-06-23 17:51:22 -07:00
riking
d2823fc5ee More detailed email rejection responses 2014-06-23 17:17:53 -07:00
riking
edc17dddb3 Let's see if this works 2014-06-23 17:17:53 -07:00
riking
a7a28454a1 DEBUG: Send all email processing errors to admins 2014-06-20 09:31:19 -07:00
Sam Saffron
92d2912ff2 Revert "Bugfix: Mailing list mode disables PM emails"
This reverts commit 6a2dde6417.
2014-06-16 16:36:02 +10:00
Sam
1542854a93 Merge pull request #2420 from peternlewis/mailing_list_mode_disables_private_message_emails
Bugfix: Mailing list mode disables PM emails
2014-06-16 16:32:05 +10:00
Jeff Atwood
1b3180f916 better copy for site and topic invites 2014-06-14 15:49:19 -07:00
Robin Ward
4a2d6bd5da Merge pull request #2439 from peternlewis/mailing_list_mode_disables_private_message_emails2
Bugfix: Mailing list mode disables PM emails (take 2)
2014-06-13 14:46:38 -04:00
Peter N Lewis
f9830fb480 Bugfix: Mailing list mode disables PM emails (take 2)
Mailing List Mode disables normal emails, but mailing list mode does not email private_messages.

To avoid this, mailing list mode should only disable emails if they are not private_messages.

There are no tests for this commit as UserNotifications does not appear to be instantiated in the spec suite.
2014-06-12 20:25:20 +08:00
Peter N Lewis
0af1242aa8 Use an appropriate name in the Reply-To header
Use "Site Name <>" for the Reply-To header when the reply is to the site or a public topic.

Use "username <>" for the Reply-To header only when the reply is to a private message topic.
2014-06-06 21:09:00 +08:00
Peter N Lewis
6a2dde6417 Bugfix: Mailing list mode disables PM emails
Emailing a PM uses the user_posted event/format, but Mailing List Mode disables emails with this format.

We work around this by temporarily using "postedprivate", and then reverting back to "posted" efter the Mailing List Mode check.
2014-06-06 15:04:33 +08:00
Neil Lalonde
00390ee739 Add a way to show a custom message at the top of all notification emails. Customize it at /admin/site_contents/notification_email_top 2014-05-12 16:52:06 -04:00
Neil Lalonde
f44bd4ec28 Don't allow sending private messages to suspended users. Emails to suspended users should tell them how to respond, since they can't. 2014-05-06 15:01:27 -04:00
Robin Ward
4eb5474858 Add a SiteSetting to configure how many topics are in the email digest. 2014-04-21 17:49:10 -04:00
Robin Ward
64faee0935 Break down new topic counts by category if a digest contains many. 2014-04-17 16:42:40 -04:00
Robin Ward
0e56157212 Basic "Also, there are x new topics" text for the digest 2014-04-17 16:04:26 -04:00
Robin Ward
fd4007eefc FIX: Don't sort the new topics by score since the Top logic is already
sorting them by score.
2014-04-17 15:43:24 -04:00
Neil Lalonde
ecf211aa3f Send email to contact_email if there are flags submitted more than 48 hours ago. Configurable with the notify_about_flags_after site setting. 2014-04-03 14:34:40 -04:00
Sam
adb6541635 FEATURE: mailing list mode always available 2014-03-05 14:21:53 +11:00
Benjamin Kampmann
024597e643 Switch to proper exception handling system for better user feedback
- Replace implicit return code-system in Email::Receiver with proper exception system
 - Update tests to check for exceptions instead
 - Test the PollMailbox for expected failures
 - Add proper email-handling of problematic emails
"
2014-02-28 17:02:58 +01:00
Allen Hancock
dad43b9853 Optionally allow discourse to create new topics from email. 2014-02-28 16:53:58 +01:00
Sam
9ec52d9425 BUGFIX: mailing list mode broke regular email 2014-02-12 16:51:26 +11:00
Sam
227873df78 FEATURE: proper mailing list mode
once enable_mailing_list_mode is enabled any user can elect
to get every post via email unless they opt out of category or topic
2014-02-07 11:07:52 +11:00
Sam
5267e5bea6 BUGFIX: emails sent from "2 replies" as opposed to correct user 2014-02-04 12:56:28 +11:00
Sam
51c06dea03 BUGFIX: hidden posts not absent from context 2014-01-31 16:37:40 +11:00
Neil Lalonde
ba74226346 FIX: invited users get clearer messaging when setting a password for the first time 2014-01-21 12:42:26 -05:00
Sam
4bea4cbcaa BUGFIX: add [PM] string to private message emails 2014-01-21 17:24:05 +11:00
Neil Lalonde
df220ae973 Get detailed info about new versions from the Discourse Hub. Include version notes from the latest version in notification email. 2013-12-31 15:52:35 -05:00
Sam
db1d01d1a2 Discourse as a Mailing List improvements
FEATURE: context is not emailed if we previously emailed you the post
FEATURE: site setting to enable_watch_new_topics , false by default.
  When enables users can elect to watch everything by default
FIX: Custom email subjects (x quoted you in [title], x replied to [title])
  was removed, this broke email grouping. TBD, include info in footer somehow
FIX: topic user specs were messy, reduce side effects
2013-12-30 13:02:12 +11:00
Robin Ward
8b4c030c16 Small email fixes 2013-12-03 10:11:04 -05:00
Robin Ward
781a8876d3 Show post count in digest emails. Sort by score 2013-11-29 13:00:25 -05:00
Robin Ward
de30af9302 Support for inviting to a forum from a user's invite page. 2013-11-06 12:56:50 -05:00
Sam
00951e0578 remove "via sitename" from senders 2013-09-12 15:38:18 +10:00
Neil Lalonde
baff59d752 Send email to contact_email when a new version of Discourse is found. Disable with the new_version_emails setting. 2013-08-16 17:28:36 -04:00
Robin Ward
652169daf6 Include a list of more new topics in the digest emails at the bottom 2013-08-09 14:43:02 -04:00
Robin Ward
8e1fae0459 Add Discourse.Singleton class mixin for creating singletons. 2013-08-08 12:00:58 -04:00
Robin Ward
9564a6ce09 Don't include user_deleted posts in emails. 2013-08-08 10:32:51 -04:00
Robin Ward
fe3a69c271 Private message emails now include the history 2013-08-07 13:03:45 -04:00
Sam
d51dcd1705 improve email styling, include extra respond link 2013-07-26 17:27:46 +10:00
Sam
366cb13140 restyle all user notification emails to use a custom html template 2013-07-24 17:24:55 +10:00
Robin Ward
3e7b418ea8 First Try: Include Post History (context) in Notification Emails 2013-07-22 15:06:37 -04:00
Robin Ward
3067c2ed3b Private messages have instructions for reply by email. We also strip X-Discourse headers
before sending the message as they are no longer needed.
2013-06-25 11:35:26 -04:00
Robin Ward
3fc69337d3 Enable reply by email for all users, display a message in the footer indicating so. 2013-06-25 11:27:17 -04:00
Robin Ward
87024c8676 Allow reply by email for admins in PMs 2013-06-18 17:26:33 -04:00
Robin Ward
8af9952b25 Change all headers to X-Discourse-* instead of Discourse-* 2013-06-18 15:54:02 -04:00
Robin Ward
8acdc18bc8 First stab at polling support for POP3S / reply by email 2013-06-17 16:49:02 -04:00
Robin Ward
49c09898e2 The EmailBuilder now creates the Reply by Email Key if necessary. 2013-06-13 12:40:06 -04:00
Robin Ward
cf9b6beb13 Add specs for all user notifications, including whether they support
reply by email.
2013-06-13 12:40:01 -04:00
Robin Ward
e29f4a3496 Work in Progress: Reply By Email:
- Add support classes and settings to enable reply by email
- Split out Email builder to be more OO, add many specs
2013-06-13 12:39:56 -04:00
Robin Ward
93bbe190c0 Moved Email components into a module 2013-06-10 15:34:10 -04:00
Neil Lalonde
34e1f376f6 Add [PM] to subject of email notifications for private messages 2013-06-07 15:50:11 -04:00
Chris Hunt
f6ce985121 Send activation email after user approved 2013-06-06 18:37:25 -07:00
Robin Ward
0b97ea6345 Better HTML emails, smarter email digests, new email section in admin with digest preview 2013-06-05 17:47:25 -04:00
Sam
b82e408351 add list unsubscribe 2013-04-26 16:56:28 +10:00
Sam
08af09cd7d don't pass notification email into to the default cause it freezes in a potentially incorrect value 2013-04-02 13:29:34 +11:00
Karan Misra
5dfb04e4b3 Convert a lot of :a => b to a: b and bring peace to the world 2013-03-25 05:07:36 +05:30
Kuba Brecka
4424328bff remove unnecessary .gitkeep files 2013-03-23 10:45:40 +01:00
Kuba Brecka
cf5deaba6c 2nd try: localize date formats on server side 2013-03-12 19:30:56 +01:00
Robin Ward
030857ac8c Give a pretty "from" address to the digest emails 2013-03-05 16:53:49 -05:00
Régis Hanol
239cbd2d58 enforce coding convention
replaced every `and` by `&&` and every `or` by `||`
2013-03-05 01:42:44 +01:00
Robin Ward
72cbb948b8 Fixes broken "From" header in Private Message emails. 2013-03-01 14:56:52 -05:00
Gosha Arinich
0c99dea153 introduce Enum 2013-03-01 21:16:36 +03:00
Robin Ward
a086635add Swap out "@" for "via" in email From field 2013-02-27 19:03:57 -05:00