Gmail Setup Guide

Connect your Gmail account to FormBlade via SMTP (App Password) or OAuth for one-click authorization.

Recommended for: Personal projects and small sites where you already have a Gmail account and want to send form notifications from your own email address. No third-party service signup required.
Not recommended for: High-volume forms (Gmail SMTP is limited to approximately 100 emails/day), professional use where you need a custom domain as the sender, or teams that need shared access to email delivery settings.

This guide covers two ways to connect Gmail:

Gmail SMTP Setup

⚠️ "Less Secure Apps" no longer works. Google permanently disabled the "Allow less secure apps" option in September 2024. You cannot use your regular Gmail password for SMTP. The only way to use Gmail SMTP is with an App Password, which requires 2-Step Verification to be enabled on your Google account.

SMTP settings

SettingValue
SMTP Hostsmtp.gmail.com
Port587
EncryptionSTARTTLS
UsernameYour full Gmail address (e.g., you@gmail.com)
Password16-character App Password (see below)

Step 1: Enable 2-Step Verification

App Passwords require 2-Step Verification (2FA) to be enabled on your Google account. If you already have 2FA on, skip to Step 2.

  1. Go to myaccount.google.com/security
  2. Under "How you sign in to Google", click 2-Step Verification
  3. Follow the prompts to set up 2FA using your phone, authenticator app, or security key
  4. Complete the verification process

Step 2: Generate an App Password

  1. Go to myaccount.google.com/apppasswords
  2. If you do not see this page, 2-Step Verification is not enabled — go back to Step 1
  3. In the "App name" field, type FormBlade
  4. Click Create
  5. Google will display a 16-character password (formatted as xxxx xxxx xxxx xxxx)
  6. Copy this password. You can paste it with or without spaces — both formats work
⚠️ Save this password now. Google only shows the App Password once. If you lose it, you will need to delete it and create a new one. Also note: changing your Google account password will invalidate all App Passwords, and you will need to generate new ones.

Step 3: Configure FormBlade

  1. Log in to your FormBlade dashboard
  2. Open your form and go to the Settings tab
  3. Under Email Provider, select Gmail (SMTP will be pre-selected)
  4. The host (smtp.gmail.com), port (587), and encryption (STARTTLS) are pre-filled
  5. Enter your Gmail address as the Username
  6. Paste the 16-character App Password as the Password
  7. Set your From Email to your Gmail address
  8. Click Save

Step 4: Send a test email

  1. Click Send Test Email
  2. Check your inbox for the test notification
  3. The email should come from your Gmail address

Gmail SMTP limits

LimitValue
Emails per day (SMTP)Varies (unpublished)
Recipients per message100
Message size25 MB (including attachments)
Note on limits: Google does not publish exact sending limits for third-party apps. Limits vary by account age, type (personal vs Workspace), and usage patterns. If you hit a limit, Google temporarily blocks sending for up to 24 hours.

Gmail OAuth Setup

OAuth lets you connect your Gmail account with a single click, without storing any passwords. However, the initial setup requires creating a project in Google Cloud Console.

Overview

The OAuth flow works like this:

  1. You create a Google Cloud project and enable the Gmail API
  2. You configure an OAuth consent screen and create credentials
  3. In FormBlade, you click "Connect Gmail" and authorize access through Google's login screen
  4. FormBlade stores a refresh token and uses it to send emails on your behalf

Step 1: Create a Google Cloud project

  1. Go to console.cloud.google.com/projectcreate
  2. Enter a project name (e.g., "FormBlade Email")
  3. Click Create
  4. Wait for the project to be created, then make sure it is selected in the project dropdown at the top

Step 2: Enable the Gmail API

  1. Go to APIs & Services → Library
  2. Search for Gmail API
  3. Click on it and click Enable

Step 3: Configure the OAuth consent screen

  1. Go to APIs & Services → OAuth consent screen
  2. Select External as the user type (unless you have a Google Workspace organization and only want internal users)
  3. Click Create
  4. Fill in the required fields:
    • App name: FormBlade (or any name)
    • User support email: your email address
    • Developer contact email: your email address
  5. Click Save and Continue
  6. On the Scopes page, click Add or Remove Scopes
  7. Search for gmail.send and check the box next to https://www.googleapis.com/auth/gmail.send
  8. Click Update, then Save and Continue
  9. On the Test Users page, add your Gmail address as a test user
  10. Click Save and Continue
⚠️ Testing mode limitations: While your app is in "Testing" mode (not published), only the test users you add can authorize it. Additionally, refresh tokens expire after 7 days, meaning you will need to re-authorize weekly. To remove these limitations, you must publish the app and go through Google's verification process.

Step 4: Create OAuth credentials

  1. Go to APIs & Services → Credentials
  2. Click Create Credentials → OAuth client ID
  3. Select Web application as the application type
  4. Name it "FormBlade"
  5. Under Authorized redirect URIs, add the callback URL shown in your FormBlade dashboard's Email Provider settings (typically https://formblade.com/api/auth/gmail/callback)
  6. Click Create
  7. Copy the Client ID and Client Secret

Step 5: Connect in FormBlade

  1. In your form's Settings tab, select Gmail (OAuth) as the email provider
  2. Enter the Client ID and Client Secret from Step 4
  3. Click Connect Gmail
  4. A Google login window will open — sign in with the Gmail account you want to send from
  5. Grant FormBlade permission to send emails on your behalf
  6. You will be redirected back to FormBlade with the connection confirmed

Publishing for production use

If you want to remove the 7-day token expiration and the 100-user limit, you need to publish your OAuth app and get it verified by Google.

⚠️ Google verification is a multi-week process. Because gmail.send is classified as a "sensitive" scope, Google requires:

For personal use, testing mode is often sufficient — just re-authorize every 7 days. For a production application serving multiple users, the SMTP App Password method is simpler and does not require Google verification.

Troubleshooting

SMTP: "Username and Password not accepted" error

SMTP: "Too many login attempts" error

OAuth: "Access blocked: app not verified"

OAuth: Token expired after 7 days

"App Passwords" page not showing up

Gmail sending limits summary

Common gotchas

Quick reference: where to find things

What you needWhere to find it
2-Step Verificationmyaccount.google.com/security → "How you sign in to Google"
App Passwordsmyaccount.google.com/apppasswords (requires 2FA to be enabled)
Google Cloud Consoleconsole.cloud.google.com
Gmail APIGoogle Cloud Console → APIs & Services → Library → search "Gmail API"
OAuth consent screenGoogle Cloud Console → APIs & Services → OAuth consent screen
OAuth credentialsGoogle Cloud Console → APIs & Services → Credentials
Security alertsmyaccount.google.com/notifications
Official documentation: For the latest on Gmail SMTP limits, App Passwords, and OAuth setup, refer to Google's App Passwords guide and the Gmail API Developer Documentation.