Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SMTP workflow improvements #30

Merged
merged 5 commits into from
Feb 17, 2022
Merged
Show file tree
Hide file tree
Changes from 4 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion docs/advanced-customization/config/api-tokens.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,4 +12,3 @@ This health checkup token is used to enable a secure endpoint for monitoring the
## Video Encoder Key

This is a secret key used to allow AWS to perform video encoding through the VideoStatesController. Currently, Videos is not available on most forems.

2 changes: 1 addition & 1 deletion docs/advanced-customization/config/authentication.md
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ At this point, you can choose to enable any/all of:

You can configure whether community members can use email/password to register and/or login.'

You can optionally restrict which emails are allowed to join. Useful for internal company forems or college emails, etc. Within this setting you can specify whether you want the list of allowed emails to be publicly visible. \(It is most likely a better experience if the list is visible, but you may want to keep it private for any reason.\)
You can optionally restrict which emails are allowed to join. Useful for internal company forems or college emails, etc. Within this setting you can specify whether you want the list of allowed emails to be publicly visible. \(It is most likely a better experience if the list is visible, but you may want to keep it private for any reason.\)

You will additionally have the option of enabling Google reCAPTCHA for email/password registration. Refer to the [reCAPTCHA page for more info](/docs/advanced-customization/config/google-recaptcha).

Expand Down
17 changes: 0 additions & 17 deletions docs/advanced-customization/config/email-digest-frequency.md

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,17 +1,25 @@
---
description: Configure your Forem's SMTP server settings.
position: 16
description: Configure your Forem's Email Server Settings.
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We've renamed SMTP Settings to a more human readable "Email Server Settings"

position: 5
---

# SMTP Settings
# Email Server Settings (SMTP)


## Forem Cloud Clients

As a Forem Cloud client, we provide an email server managed by the Forem team. All settings are managed by us and the from and reply email addresses for all emails are set as noreply@forem.com.
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We've added the ability for Forem Cloud Clients to override their Sendgrid settings and use custom SMTP settings if they wish to.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I propose either

You are a Forem Cloud client. We provide Forem Cloud clients with an email server managed by the Forem team.

or

As a Forem Cloud client, you are provided with an email server managed by the Forem team.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Updated, thank you Ella ❤️

Ridhwana marked this conversation as resolved.
Show resolved Hide resolved

However, you can override this to use your own email server.

These settings are required for your Forem to send emails. If you wish to send invites (for example, for an invite-only Forem), email digests, activity notifications, you need to specify which email host will relay those messages for you.

:::important

NOTE: Once you submit your SMTP settings for your Forem, all users will be automatically logged out and required to confirm their email addresses to be able to log in again. Only the First User won't have to do this. **Please ensure that your [First User](https://admin.forem.com/docs/getting-started/creator-signup-and-onboarding) is still a [Super Admin](https://admin.forem.com/docs/forem-basics/user-roles) and that you still have [access to that account](https://admin.forem.com/docs/forem-basics/user-settings/account-settings) before proceeding with these settings. Without this, you may possibly lose access to your Forem if the SMTP settings configuration fails.**

:::

These settings are required for your Forem to send emails. If you wish to send invites (for example, for an invite-only Forem), email digests, activity notifications, you need to specify which email host will relay those messages for you.

## Choosing a SMTP provider

Expand All @@ -31,32 +39,38 @@ Before you can configure your Forem for SMTP, many SMTP providers require you to
- [SparkPost](https://www.sparkpost.com/docs/getting-started/getting-started-sparkpost/#domain-setup)
- [Mailgun's domain verification documentation](https://help.mailgun.com/hc/en-us/articles/360026833053-Domain-Verification-Walkthrough)

## SMTP Settings
## Email Server Settings

Expand your **SMTP Settings** under `/admin/customization/config`
Expand your **Email Server Settings** under `/admin/customization/config`

**Remember: submitting these settings will lock out all users who haven't confirmed their email address (by requesting an email confirmation at the log in screen, which will be sent to the email address they supplied at registration). Ensure you have full access to your First User (user ID 1) complete with Super Admin permissions before proceeding.**

### Address
### User name

Address of the remote mail server, e.g. **smtp.gmail.com** or **smtp.sendgrid.net**
Username specified for your SMTP service (not always the username for accessing your account). This varies from provider to provider. For some, this may be the username before the **@** sign, or it may be your entire email address. [For Sendgrid, this is always "apikey"](https://docs.sendgrid.com/for-developers/sending-email/upgrade-your-authentication-method-to-api-keys#upgrade-to-api-keys-for-your-smtp-integration). Check with your SMTP host if you are unsure.

### Port
### Password

The port that your mail server runs on. This could be 25 or 587 for unencrypted/TLS email, or 465 for SSL-encrypted email, so it's best to confirm these settings with your SMTP service provider.
Password specified for your SMTP service (not always the password for accessing your account). Sendgrid users will need to generate an API key instead, and [use the full API key as the password](https://docs.sendgrid.com/for-developers/sending-email/upgrade-your-authentication-method-to-api-keys#upgrade-to-api-keys-for-your-smtp-integration). [Sendinblue users will need to request an SMTP password from Support before being able to use SMTP](https://help.sendinblue.com/hc/en-us/articles/209463245).

### Address

Address of the remote mail server, e.g. **smtp.gmail.com** or **smtp.sendgrid.net**

### Authentication

If your mail server specifies authentication type, you will need to make sure that this field reflects this. The default is usually "login" (which will send password Base64 encoded), with other options being "plain" (will send the password in the clear) or "cram_md5" (combines a Challenge/Response mechanism to exchange information and a cryptographic Message Digest 5 algorithm to hash important information).

### User name
### Domain

Username specified for your SMTP service (not always the username for accessing your account). This varies from provider to provider. For some, this may be the username before the **@** sign, or it may be your entire email address. [For Sendgrid, this is always "apikey"](https://docs.sendgrid.com/for-developers/sending-email/upgrade-your-authentication-method-to-api-keys#upgrade-to-api-keys-for-your-smtp-integration). Check with your SMTP host if you are unsure.
If you need to specify a HELO domain, you can do it here. If not, leave this field blank.

### Password
### Port

Password specified for your SMTP service (not always the password for accessing your account). Sendgrid users will need to generate an API key instead, and [use the full API key as the password](https://docs.sendgrid.com/for-developers/sending-email/upgrade-your-authentication-method-to-api-keys#upgrade-to-api-keys-for-your-smtp-integration). [Sendinblue users will need to request an SMTP password from Support before being able to use SMTP](https://help.sendinblue.com/hc/en-us/articles/209463245).
The port that your mail server runs on. This could be 25 or 587 for unencrypted/TLS email, or 465 for SSL-encrypted email, so it's best to confirm these settings with your SMTP service provider.

### Domain
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We've added a from and reply to email address

### From email address
The email address that all emails will be sent from.

If you need to specify a HELO domain, you can do it here. If not, leave this field blank.
### Reply to email address
The email address that users reply to.
19 changes: 15 additions & 4 deletions docs/advanced-customization/config/emails.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,21 @@
---
description: Set your community email address.
position: 5
description: Set your community email address and periodic email digest.
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We've reworked the Emails section to remove the default email which was disabled anyways. We've added a contact email and moved the email digest field to the emails section

position: 6
---

# Emails

### About
### Contact email address

The Default email address for your community will appear on autopopulated support pages, Code of Conduct, Terms of Use, Privacy Policy, and any other locations around the site where users may need to reach out for additional help.
The contact email address is used for any contact links. It will appear on auto-populated support pages, Code of Conduct, Terms of Use, Privacy Policy, and any other locations around the site where users may need to reach out for additional help.


### Periodic email digest

You can set the number of days between email digests a user receives.

Email digests are automated emails sent to **subscribed** users that highlight suggested posts tailored to their interests, based on the [tags they follow, users they follow, and a few other criteria](https://github.com/forem/forem/blob/main/app/services/email_digest_article_collector.rb).

Email digests are separate and distinct from [email newsletters](https://admin.forem.com/docs/advanced-customization/config/newsletter), which are sent and managed from a connected Mailchimp account. **You will need to have [Email Server Settings](http://admin.forem.com/docs/advanced-customization/config/email-server-settings) configured for your Forem in order to send email digests.** Your Forem will need at least 3 new posts per day before Email digests are triggered to send automatically.

Users can opt in or out of these digests at any time from their [Notification Settings](https://admin.forem.com/docs/forem-basics/user-settings/notification-settings) at `/settings/notifications`. They can adjust the content of their digests by following/unfollowing/blocking users and organizations, or [adjusting their tag weightings to reflect their interests](https://admin.forem.com/docs/forem-basics/tags).
1 change: 0 additions & 1 deletion docs/advanced-customization/config/google-analytics.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,4 +10,3 @@ position: 7
Set the GA Tracking ID, e.g. `UA-71991000-1` to start gathering analytics in Google Analytics

[Follow this guide for more information](https://support.google.com/analytics/answer/10269537?ref_topic=1009620#).

4 changes: 2 additions & 2 deletions docs/advanced-customization/config/images.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
---
description: How to go into "campaign mode" on the homepage.
position: 8
position: 9
---

# Images

### Logo

The main site logo appears in the site’s navbar (in the top left-hand corner).
The main site logo appears in the site’s navbar (in the top left-hand corner).
The following logo types are accepted: PNG, JPG, and JPEG. Logos should not be more than 3 MB in size and should not be greater than 4096x4096px in dimensions. If your upload attempt is unsuccessful, try resizing the logo and uploading it again.

![Logo in use in navbar](https://github.com/raw/forem/admin-docs/main/static/img/ImagesLogo.png)
Expand Down
2 changes: 1 addition & 1 deletion docs/advanced-customization/config/mascot.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
description: Configure your Forems Mascot and User.
position: 9
position: 10
---

# Mascot
Expand Down
3 changes: 1 addition & 2 deletions docs/advanced-customization/config/meta-keywords.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
description: Configure your Forems Meta Keywords.
position: 10
position: 11
---

# Meta Keywords
Expand All @@ -18,4 +18,3 @@ Included on article / post pages.
### Tag

Included on tag pages.

2 changes: 1 addition & 1 deletion docs/advanced-customization/config/monetization.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
description: Define various monetization variables.
position: 0
position: 12
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These positions don't seem to matter as it seems that the nav links are getting sorted alphabetically. However, I just updated them anyways. Let me know if this was the wrong thing to do?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Absolutely fine to update these

---

# Monetization
Expand Down
4 changes: 2 additions & 2 deletions docs/advanced-customization/config/newsletter.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
---
description: How to configure Mailchimp newsletters with your Forem
position: 12
position: 13
---

# Newsletter

Newsletter settings allow you to integrate your Mailchimp newsletter audience with your Forem community members. Newsletters are sent from your Mailchimp account and are different from your [Forem Email Digests](https://admin.forem.com/docs/advanced-customization/config/email-digest-frequency).
Newsletter settings allow you to integrate your Mailchimp newsletter audience with your Forem community members. Newsletters are sent from your Mailchimp account and are different from your [Forem Email Digests](https://admin.forem.com/docs/advanced-customization/config/emails#periodic-email-digest).
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've updated all links for the digest email and email server settings to point to the correct updated pages


It's up to you how often you want to create and send your Mailchimp newsletters (we recommend no more than one newsletter per week). You will create and manage these and their sending frequency entirely in Mailchimp, with the API (settings below) sharing the subscribers list with Mailchimp.

Expand Down
3 changes: 1 addition & 2 deletions docs/advanced-customization/config/social-media.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
description: Assign social media variables for community.
position: 0
position: 14
---

# Social Media
Expand Down Expand Up @@ -28,4 +28,3 @@ Instagram username, no punctuation (e.g. "thepracticaldev")
### Twitch

Twitch username, no punctuation (e.g. "thepracticaldev")

2 changes: 1 addition & 1 deletion docs/advanced-customization/config/sponsors.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
description: Define public name for sponsors.
position: 0
position: 15
---

# Sponsors
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
description: How to go into "campaign mode" on the homepage.
position: 19
position: 16
---

# User Experience and Brand
Expand Down
6 changes: 3 additions & 3 deletions docs/forem-basics/user-settings/notification-settings.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,12 +9,12 @@ sidebar_position: 2

## Email notifications

The most common encounter most admins have with this page is to help direct users who wish to reduce their notification volume. Some users may opt into the [Newsletter](https://admin.forem.com/docs/advanced-customization/config/newsletter) or [Digest](https://admin.forem.com/docs/advanced-customization/config/email-digest-frequency) during Onboarding, without realizing that these can be frequent emails, and later wish to opt out.
The most common encounter most admins have with this page is to help direct users who wish to reduce their notification volume. Some users may opt into the [Newsletter](https://admin.forem.com/docs/advanced-customization/config/newsletter) or [Digest](https://admin.forem.com/docs/advanced-customization/config/emails#periodic-email-digest) during Onboarding, without realizing that these can be frequent emails, and later wish to opt out.

Your Forem needs to have [SMTP settings configured](https://admin.forem.com/docs/advanced-customization/config/smtp-settings) in order to send digests and other email notifications.
Your Forem needs to have [Email Server Settings (SMTP) configured](http://admin.forem.com/docs/advanced-customization/config/email-server-settings) in order to send digests and other email notifications.

- **Send me weekly newsletter emails**: This is where users opt in or out of your [Newsletters](https://admin.forem.com/docs/advanced-customization/config/newsletter). Although they're described as "weekly newsletters" your newsletters may be more or less frequent. You manage this frequency yourself via your newsletter provider.
- **Send me a periodic digest of top posts from my tags**: Digests are sent at [the frequency you specify in your Admin Config](https://admin.forem.com/docs/advanced-customization/config/email-digest-frequency). Users can customize the content of the digest much like they customize their feed content: by following other community members, and modifying their [tag weightings](https://admin.forem.com/docs/forem-basics/tags) (as mentioned in [this comment](https://dev.to/michaelcurrin/comment/1abef) on DEV) so they "anti-follow" any topics they don't want to read about.
- **Send me a periodic digest of top posts from my tags**: Digests are sent at [the frequency you specify in your Admin Config](https://admin.forem.com/docs/advanced-customization/config/emails#periodic-email-digest). Users can customize the content of the digest much like they customize their feed content: by following other community members, and modifying their [tag weightings](https://admin.forem.com/docs/forem-basics/tags) (as mentioned in [this comment](https://dev.to/michaelcurrin/comment/1abef) on DEV) so they "anti-follow" any topics they don't want to read about.

## Mobile notifications

Expand Down
2 changes: 1 addition & 1 deletion docs/getting-started/forem-setup-checklist.md
Original file line number Diff line number Diff line change
Expand Up @@ -151,7 +151,7 @@ To begin with, open the **User Experience and Brand** section at the very bottom

[Navigate to **Authentication** in `/admin/customization/config` and configure your authentication options](https://admin.forem.com/docs/advanced-customization/config/authentication).

If you want your community to only allow people to join if you manually invite them, keep **Invite-only mode** checked. **In order to send invitations, you will need to have [SMTP settings](https://admin.forem.com/docs/advanced-customization/config/smtp-settings) configured for your Forem. Without SMTP settings, your Forem will not be able to send invites, notifications, digests, or admin confirmations.**
If you want your community to only allow people to join if you manually invite them, keep **Invite-only mode** checked. **In order to send invitations, you will need to have [your Email Server Settings (SMTP)](http://admin.forem.com/docs/advanced-customization/config/email-server-settings) configured for your Forem. Without Email Server Settings, your Forem will not be able to send invites, notifications, digests, or admin confirmations.**

If you choose this option, you’ll need to navigate to `https://dev.to/admin/invitations` and click “New” (which should appear as a tab also near the top of the page beside “Invitations”). From here, you’ll be able to invite new members to join your Forem.

Expand Down
4 changes: 2 additions & 2 deletions src/components/NavigationList.js
Original file line number Diff line number Diff line change
Expand Up @@ -56,8 +56,8 @@ const NavigationSections = [
url: "docs/advanced-customization/config/authentication",
},
{
title: "Configure SMTP Settings",
url: "docs/advanced-customization/config/smtp-settings",
title: "Configure Email Server Settings (SMTP)",
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Renamed the title and the link and also pointed all links to this updated URL

url: "docs/advanced-customization/config/email-server-settings",
},
{
title: "Add and sort Navigation Links",
Expand Down