How to Obtain Google API Client ID and Secret
In order to connect to the gmail smtp server with a more secure connection, a client ID and secret is needed to authorize the specific app. These will be obtained from within the google account settings page. Therefore, access to the google account username/password is required for these steps. These steps can be done without cost this way because there's no need for a Google Organization or Workspace to be created.
Create a new API Project
1 | Open the Google API Console. It should look something like this. | |
2 | Click "CREATE PROJECT" on the far right. | |
3 | Choose a Project name like "Gmail SMTP" or similar, then click "Create" | |
4 | Once the project is finished creating, click "ENABLE APIS AND SERVICES" on the main dashboard(: | |
5 | Search for and Select the Gmail API | |
6 | Click Enable. |
Set API Scopes/Users
1 | On the left sidebar, click "OAuth consent screen". Choose "External", then click the Create button. | |
2 | Enter information for your app. This will appear when logging in and asking for permissions. An app name like "Gmail SMTP" works here. Click "SAVE AND CONTINUE" Note: Encountered issues with this step on 3/9/23. App information could not be saved until Project ID was added to the App Name field. Once added no further issues were encountered. | |
3 | Click "ADD OR REMOVE SCOPES" | |
4 | Filter on "mail.google.com", click the checkbox next to that result. Then click "Update" at the bottom of the screen(may need to scroll down to see it). | |
5 | At the bottom of the screen there should now be an entry in the "Your Restricted Scopes" table. Click "SAVE AND CONTINUE" | |
6 | Click "+ ADD USERS". Add the email addresses of anyone that may use or request permissions from this API/app. When all are added, click "SAVE AND CONTINUE" |
Create Credentials
1 | Click "Credentials" on the left sidebar, then the "+ CREATE CREDENTIALS" at the top. | |
2 | Choose "OAuth client ID" | |
3 | This step differs for mailsender and InteractServer. Please expand and follow the section for the app being used. | OR |
4 | When the credentials are shown, copy the Client ID and Secret. These are the credentials that will be used when setting up the mail sender client. Or download the json which contains all the info as well. | |
5 | These credentials can then be found on the dashboard if they need to be edited or viewed later. |
Publish App
This step is required to ensure our tokens don't expire and inconvenience users. We "publish" but don't do any of the verification steps needed to actually get verified/published from google. Just doing this first step puts our app into "In Production" publishing status and makes the refresh tokens last indefinitely.
1 | Click "OAuth consent screen" on the left sidebar, then the "PUBLISH APP" button under Testing | |
2 | Confirm on the pop up | |
3 | Ensure the screen looks like the screenshot on the right. There will be a warning that verification is needed, we're not going to do that. |
This entire process can be repeated multiple times if needed, however there is a limit to the number or projects and users that can be added.