Email updates without signing up

(Alex Flom) #1


I noticed that other communities such as
Are offering an option where a user can subscribe to email updates (newsletter) by entering his email.

This way the user can just enter his email (without the need to sign up for a regular account) and get updates of interesting topics by email.

Is something like this possible with discourse?

Thank you!!

(mountain) #2

Try it out for yourself! :slight_smile: Go to ‘Preferences’ when you click on your avatar in the upper right corner, next to the hamburger menu.

A visitor needs to sign up ‘fully’ like any other member to use the mailing list features. Even if they sign up and don’t come back, but are instead active by posting via email. That is fine and expected for some mailing list users.

(Jeff Atwood) #3

This basically already happens. Create an account and never visit the site. You will get a weekly digest email for one year by default.

(We only email you a digest if you have been away from the site for a week.)

(Allen - Watchman Monitoring) #4

Have things changed since


(mountain) #5

Right. The question in the OP was “do they need to make a full account to get a digest?”

It sounds like the requested feature is allowing visitors to sign up for a digest without making a full user account. Like an auto-generated newsletter that grabs the most-liked/most-viewed/most-replied topics for anyone to sign up to, regardless if they have a user account or not.

(Alex Flom) #6


Great example will be
You can sign up, but you can also just enter your email to get updates about new posts(using the banner at the top).


(Mittineague) #7

Just curious. What do you envisage being included in these “non-member” subscriptions?

(mountain) #8

In the meantime @Alex_Flom I suggest making a non-automated newsletter (via MailChimp for example) from querying the database to catch all the links to relevant most-liked/most-viewed/most-replied topics. Then throw it onto a newsletter and send it at the interval you wish.

There might even be a way to automate this from some kind of script that queries the database when triggered by a cron job.

(Alex Flom) #9

Thanks @purldator, thats sound like a good plan.

However, I do see some challenges here:

  • When someone subscribes to the newsletter and then become registered user, he will get both the newsletter and the email digest (basically same content).
  • When such user unsubscribes from the newsletter or the digest he will still be subscribed to the second since those are separate systems.

(mountain) #10

Have the proposed script check the Discouse database before sending anything. Compare the current visitor email list vs new Discourse users or the entire user database. If there’s an email match, remove the email from the visitor list. Then it can query the database for the relevant posts as usual then tip off MailChimp via their API.

If the script does the above then the second problem won’t happen. A user wouldn’t have their email in two separate systems. They simply remove themselves from the digest via user prefs on Discourse.

Done and done.

EDIT: The ‘mirror check’ can include the last successful newsletter mailing to the current time. It takes the ‘last successful’ time and uses that to query the Discourse user database for emails by checking the registered date. That way there’s no need for the script to read the entire database for emails, but instead pick up relevant new accounts and then search those for duplicate emails (especially if you have enough users to equal a quaint Smalltown, USA).

(Alex Flom) #11

Sounds good!
Taking into consideration that we are new to this and our team is not experienced with developing with discourse , what do you think will be the best way to execute such project? Would be hiring a freelancer faster and better than education one of our developers? If yes where will be a good play to find discourse expert?

Thank you for your help!

(mountain) #12

This can be in any language, even PHP if the programmer is comfortable with it. Someone doesn’t need to be a Discourse expert or even a Ruby/Rails expert. This is just an automated task, not a full-fledged web app. They would only need to know Discourse’s API, its endpoints and how to work the PostgreSQL database. Also curl.

We have a marketplace category here on Meta. There’s other places where you can post a bounty too such as Bountify.

EDIT: Maybe not even Discourse’s API. Just the ability to query the PostgreSQL database.

(Allen - Watchman Monitoring) #13

Agreed, and the current answer, afaik, is “yes users need a full account”.

My point in posting isn’t directly in line with the OP request for a new feature, rather, I’m pointing out two related issues which @Alex_Flom needs to know about, given how discourse currently works.

  • If new users fail to validate their account via an authenticator (ie google, if the admin set that up) or by clicking the confirmation link they were emailed, their account will be silently deleted in 7 days (by default)

  • According to @codinghorror 's post here, new users will not get digests unless they have logged in once.

(Jeff Atwood) #14

Those are both veiled forms of the same observation; the assumption is that the user created the account themselves and thus “logged in” in the process of creating their account.

If the accounts are somehow created through an API, then yes.

(Allen - Watchman Monitoring) #15

I regularly have users who register for an account, and then don’t activate it because [insert whatever reason here, I don’t know].

As for users created via the API, I’ve moved my question it to its own thread.

(Sanket Nadhani) #16

Why not stop the digest emails altogether and just use MailChimp to send the digest emails to everyone, active or not? What issues do you see with that?

I think even the active people should get the digest - they might have checked out/replies to only one post and that makes them active but since they are interested in what’s discussed on the community, why shouldn’t they get a digest with the other discussions happening in the community?

(Alex Flom) #17

The first problem is how the new users will be automatically added to mailchimp?
Second problem will be how to create and send this email automatically using discourse without the need to write it every time from scratch.

(Jeff Atwood) #18

Well, you can export the complete member list at any time via Admin, Users with the export button. So as long as Mailchimp can handle a CSV of email addresses and names, sending it is not too much work. But it would never be automatic.