Set up reply by email with POP3 polling

So you’d like to set up reply via email support for your Discourse forum.

:mega: Reply via email is pre-configured and enabled by default on all discourse.org hosted sites. The guide below only applies to those self-hosting.

Good news! Unlike outgoing email, which is completely unsuitable for typical consumer mail services like GMail, Outlook, Yahoo Mail, etc, incoming reply via-email tends to be extremely low volume. Unless you have a truly massive forum with a zillion people replying to notification emails, you are probably safe using, say, Gmail.

:bell: Alternately, if you aren’t comfortable using GMail for this, you can set up your own incoming email service using Configure direct-delivery incoming email for self-hosted sites

So here’s how to set it up using GMail as an example.

  1. Create a new GMail account. If you do not set up a completely new email account old emails will be synced via POP3, causing unforeseen issues and sending bounce notification emails!

  2. Assign the new account a username like discourse-replies@example.com or in my case, replies@example.com (if you are using a normal GMail account replace @example.com with @gmail.com here). Give it a strong password.

  3. Log in to this account via http://mail.google.com. Accept the terms of service, enter the CAPTCHA, load the default web interface. Maybe send a test email, receive a test email. Kick the tires.

  4. POP3s access is off by default in Gmail, so turn it on via Settings, Forwarding and POP/IMAP:

    All incoming emails will be retained by default – but you can tweak as needed.

  5. Visit the Discourse settings and check the Email tab.

  6. Change the following settings:

    • reply_by_email_address enter replies+%{reply_key}@example.com
    • pop3_polling_username enter replies@example.com
    • pop3_polling_password enter the password of that email account
    • pop3_polling_host set to pop.gmail.com
    • pop3_polling_enabled set to true
    • reply_by_email_enabled set to true

There is a certain amount of polling that goes on for this account, but we’ve set it to a low, safe volume – you can configure the polling interval via the pop3 polling period setting.

We do assume that your email service supports plus addressing aka address tags, so check that before starting. GMail obviously does.

If everything is working, you should see the footer of all notification mails now tell you that you can reply either by visiting the website, or replying via email:

To respond, reply to this email or visit {topic URL} in your browser.

If things aren’t working:

  • check the /logs path on your Discourse in your web browser and look for email related error messages.

  • log into your mail account using your web browser and check for any errors or notifications.

Forwarding mail sent to additional addresses

Let’s say that you are polling emails from the “replies@your.domain” account and you want to setup incoming emails for “help@your.domain” and “dev@your.domain”.

You will need to forward all the emails sent to “help@your.domain” and “dev@your.domain” to “replies@your.domain”. If you are using GMail, they have a great tutorial on how to automatically forward incoming emails to another account .

Then, Discourse will periodically poll emails from the “reply@discourse.org” account and deliver the emails to the corresponding category, group, topic or message.

Potential Issues

  1. We have seen difficulties when signing up for a GMail account from a different country than your server is located in. For example, if you create the Gmail account from the UK, but the server is in the USA.

  2. If you are using a GMail account (e.g. @gmail.com) or a Google Apps mailbox (e.g. a Google mailbox @yourdomain.com), you will need to create an app password for your account, which is used in place of your account password in step 6.

See also: Troubleshoot reply by email ✉

ℹ Since May 30th, 2022, the **Access from less secure apps** Google option isn't supported anymore, so you need to use app passwords, and enable the two-factor authentication to do so.
85 Likes
Issues Configuring Respond by Email
How can I enable "reply to this email to respond"
Confused about setting up reply by email
Disable Reply Via Email
Troubleshoot reply by email
Reply via Email — emails not getting to the staged user
Reply by email Issues
No received mails in new Discourse installation
Prevent creation of staged user for emails with auto-xyz header
Email polling error with Google Apps
Reply-by email POP3 polling hosted with roundcube
I cant setup smtp. I tried everything
What is "Mailing List mode"?
Email in to a private category
Use Discourse as a Private Support/Ticket System
Configure direct-delivery incoming email for self-hosted sites
Configure authentication checks on incoming email
Webhook to forward posts to a mailinglist: best practice?
Replacing Mailing lists: Email-In
Installation by the book
Email support with discourse
Using subject line for reply-by-email identifier
Email notifications reply directly to me (the admin)
Notification email cannot be the same as reply by email
Message 'receiver' not in view until they reply
Some questions regarding to pop polling, wildcards and MX
Notification Email From Set to noreply?
Multiple Mail Receivers for Multiple Discourse Instances
How to reply to email
How should Discourse System Market itself?
Customize the "reply to" address in new private message notification emails
Instant notification for every new topic/reply
Discourse setting Reply-To value in `From` header field when using reply by eMail feature
'hostname "mail.domain.tld" does not match the server certificate' :: SNI support? & how to query cert from Discourse container?
Mail-receiver relay access denied
Free Discourse forum hosting for community-friendly GitHub projects
How might we better structure #howto?
How might we better structure #howto?
Disable reply via email?