Connect Gmail to Flectra using Google OAuth¶
Flectra is compatible with Google’s OAuth for Gmail. In order to send secure emails from a custom domain, all that is required is to configure a few settings on Google’s Workspace platform, as well as on the back end of the Flectra database. This configuration works by using either a personal email address or an address created by a custom domain.
Tip
For more information, visit Google’s documentation on setting up OAuth.
Setup in Google¶
Create a new project¶
To get started, go to the Google API Platform. Log in with your Google Workspace account if you have one, otherwise log in with your personal Gmail account (this should match the email address you want to configure in Flectra).
After that, click on Create Project, located on the far right of the OAuth consent screen. If a project has already been created in this account, then the New Project option will be located on the top left under the Select a project drop-down menu.
On the New Project screen, rename the Project name to Flectra
and browse for
the Location. Set the Location as the Google Workspace
organization. If
you are using a personal Gmail account, then leave the Location as No Organization
.
Click on Create to finish this step. On the next screen, User Type options, select the External option, and then click on Create again, which will finally navigate to the Edit app registration page.
Edit app registration¶
On the Oauth consent screen step, under the App information section, enter
Flectra
in the App name field. Select the organization’s email address under the User support email field.Next, under Add Domain and enter
, click onflectra.com
.After that, under the Developer contact information section, enter the organization’s email address. Google uses this email address to notify the organization about any changes to your project.
Next, click on the Save and Continue button.
Then, skip the Scopes page by scrolling to the bottom and clicking on Save and Continue.
Next, add the email being configured under the Test users step by clicking on Add Users and then the Save and Continue button. A summary of the App registration appears.
Finally, scroll to the bottom and click on Back to Dashboard.
Create Credentials¶
Now that you have set up the project, you need to create credentials, which includes the Client ID and Client Secret. First, click on Credentials in the left sidebar menu.
Then, click on Create Credentials in the top menu and select OAuth client ID from the dropdown menu.
Under Application Type, select Web Application from the dropdown menu.
In the Client ID field, enter
Flectra
.Under the Authorized redirect URIs label, click the button ADD URI, and then input
https://yourdbname.flectra.com/google_gmail/confirm
in the URIs 1 field. Be sure to replace the yourdbname part of the URL with your actual Flectra database name.Next, click on Create to generate an OAuth Client ID and Client Secret. Finally, copy each generated value for later use when configuring in Flectra, and then navigate to the Flectra database.
Setup in Flectra¶
Enter Google Credentials¶
First, open Flectra and navigate to the Apps module. Then, remove the Apps
filter from the search bar and type in Google
. Install the module called Google Gmail.
Next, navigate to Discuss section, ensure that the checkbox for Custom Email Servers is checked. This populates a new option for Gmail Credentials. Then, copy and paste the Client ID and Client Secret into the respective fields and Save the settings.
, and under theConfigure outgoing email server¶
After that, on the General Settings page, under Custom Email Servers, click Outgoing Email Servers to configure the external Gmail account.
Then, Create a new email server and select the option for Gmail. Next, fill in the Description (can be anything) and the email Username and click on Connect your Gmail account.
A new window from Google opens to complete the authorization process. Select the appropriate email address that is being configured in Flectra.
If the email address is a personal account, an extra step pops up, click Continue to allow the verification and connect the Gmail account to Flectra.
Then, allow Flectra to access the Google account by clicking on Continue or Allow. After that, the page navigates back to the newly configured outgoing email server in Flectra. The configuration automatically loads the token in Flectra, and a tag stating Gmail Token Valid appears in green.
Finally, save the settings and Test the Connection. A confirmation message should appear. The Flectra database can now send safe, secure emails through Google using OAuth authentication.
Google OAuth FAQ¶
Production VS Testing Publishing Status¶
Choosing Production as the Publishing Status (instead of Testing) will display the following warning message:
To correct this warning, navigate to the Google API Platform. If the Publishing status is In Production, click Back to Testing to correct the issue.
No Test Users Added¶
If no test users are added to the OAuth consent screen, then a 403 access denied error will populate.
To correct this error, return to the OAuth consent screen under APIs & Services and add test user(s) to the app. Add the email that you are configuring in Flectra.
Gmail Module not updated¶
If the Gmail Module in Flectra has not been updated to the latest version, then a Forbidden error message populates.
To correct this error, go to the Apps module and clear out the search terms. Then,
search for Gmail
or Google
and upgrade the Google Gmail module. Finally, click on
the three dots on the upper right of the module and select Upgrade.
Application Type¶
When creating the Credentials (OAuth Client ID and Client Secret), if Desktop App is selected for the Application Type, an Authorization Error appears.
To correct this error, delete the credentials already created and create new credentials, selecting
Web Application for the Application Type. Then, under
Authorized redirect URIs, click ADD URI and type:
https://yourdbname.flectra.com/google_gmail/confirm
in the field.
Note
Replace yourdbname in the URL with the Flectra database name.