Commit Graph

193 Commits

Author SHA1 Message Date
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