Microsoft / Outlook Setup Guide

Connect your Outlook.com personal account or Microsoft 365 organization account to FormBlade via SMTP or Microsoft Graph API.

Recommended for: Organizations already on Microsoft 365 that want to send form notifications from their corporate email domain. O365 SMTP supports up to 10,000 emails/day. Also good for personal Outlook.com users who want a simple SMTP setup.
Not recommended for: Users without an existing Microsoft account (signing up just for email sending — use Brevo instead). Also not ideal if your O365 admin has disabled SMTP AUTH or external application access.

This guide covers two connection methods:

Outlook / Microsoft 365 SMTP

SMTP settings

SettingPersonal (Outlook.com / Hotmail)Microsoft 365 (Work/School)
SMTP Hostsmtp-mail.outlook.comsmtp.office365.com
Port587587
EncryptionSTARTTLSSTARTTLS
UsernameYour full email addressYour full email address
PasswordApp Password (if 2FA is on) or account passwordApp Password or account password
Daily limit300 emails/day10,000 emails/day
Rate limit30 emails/minute30 emails/minute

Step 1: Check if SMTP AUTH is enabled (Microsoft 365 only)

Microsoft 365 administrators can disable SMTP AUTH for the entire organization. If you are on a work or school account, check with your IT administrator first.

⚠️ O365 admins often disable SMTP AUTH. Since Microsoft recommends modern authentication (OAuth), many organizations have disabled basic SMTP authentication. If you see "Authentication unsuccessful" errors, ask your admin to enable SMTP AUTH for your mailbox. The admin can do this in the Microsoft 365 admin center under the user's mail settings, or via PowerShell:
Set-CASMailbox -Identity user@yourdomain.com -SmtpClientAuthenticationDisabled $false

Step 2: Generate an App Password (if using 2-Step Verification)

If your Microsoft account has 2-Step Verification (MFA) enabled, you need an App Password instead of your regular password.

For personal Outlook.com accounts:

  1. Go to account.live.com/proofs/manage/additional
  2. Under "App passwords", click Create a new app password
  3. Copy the generated password

For Microsoft 365 accounts:

  1. Go to mysignins.microsoft.com/security-info
  2. Click Add sign-in method
  3. Select App password
  4. Name it "FormBlade" and click Next
  5. Copy the generated password
Tip: If you do not have 2-Step Verification enabled on a personal Outlook.com account, you can use your regular account password directly. However, Microsoft encourages all accounts to enable MFA, and some accounts may be required to have it.

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 Outlook (for personal) or Microsoft 365 (for work/school)
  4. The host, port, and encryption are pre-filled based on your selection
  5. Enter your full email address as the Username
  6. Paste your App Password (or account password) as the Password
  7. Set your From Email to the same address as the username
  8. Click Save
⚠️ From address must match. Microsoft SMTP requires that the "From" email address matches the authenticated account. You cannot send from a different address than the one you log in with, unless your O365 admin has granted "Send As" permissions for another mailbox.

Step 4: Send a test email

  1. Click Send Test Email
  2. Check your inbox for the test notification
  3. If it fails, see the troubleshooting section below

Outlook SMTP limits

LimitPersonal (Outlook.com)Microsoft 365
Emails per day30010,000
Emails per minute3030
Recipients per message100500
Message size20 MB25 MB (configurable by admin)
Note: New personal Outlook.com accounts may have lower initial sending limits (as low as 10–30 per day) that gradually increase as the account builds reputation. If you are using a recently created account, you may hit limits sooner than expected.

Microsoft Graph API Setup

The Microsoft Graph API uses OAuth 2.0, so no passwords are stored. Instead, FormBlade requests a token from Azure AD (now called Microsoft Entra ID) to send emails on your behalf.

Overview

The setup flow:

  1. Register an application in Azure AD (Entra ID)
  2. Configure API permissions for mail sending
  3. Create a client secret
  4. Connect in FormBlade via OAuth authorization

Step 1: Register an application in Azure AD

  1. Go to Azure Portal → App registrations
  2. Click New registration
  3. Enter a name (e.g., "FormBlade Email")
  4. Under "Supported account types", choose:
    • Single tenant — if only your organization needs access
    • Multitenant + personal accounts — if you want personal Outlook.com accounts to work too
  5. Under Redirect URI, select Web and enter the callback URL shown in FormBlade's email provider settings (typically https://formblade.com/api/auth/microsoft/callback)
  6. Click Register
  7. Note the Application (client) ID and Directory (tenant) ID from the overview page
⚠️ Redirect URI must match exactly. The redirect URI in Azure AD must be an exact character-for-character match with what FormBlade sends during authorization. Even a trailing slash difference will cause the flow to fail with an "invalid redirect_uri" error.

Step 2: Configure API permissions

  1. In your app registration, go to API permissions
  2. Click Add a permission
  3. Select Microsoft Graph
  4. Choose Delegated permissions (not Application permissions)
  5. Search for Mail.Send and check the box
  6. Click Add permissions
⚠️ Delegated vs. Application permissions. Always use Delegated permissions for FormBlade. Delegated means "send as the signed-in user". Application-level Mail.Send permission allows the app to send email as any user in the entire tenant without their consent — this is a serious security risk unless you specifically need it and understand the implications.

Step 3: Create a client secret

  1. In your app registration, go to Certificates & secrets
  2. Under "Client secrets", click New client secret
  3. Enter a description (e.g., "FormBlade") and choose an expiration period
  4. Click Add
  5. Copy the secret Value immediately (it is only shown once)
⚠️ Client secrets expire. Azure AD client secrets have a maximum lifetime of 24 months. When the secret expires, FormBlade will no longer be able to send emails until you create a new secret and update it. Set a calendar reminder to rotate the secret before it expires.

Step 4: Connect in FormBlade

  1. In your form's Settings tab, select Microsoft (Graph API) as the email provider
  2. Enter the Application (client) ID from Azure AD
  3. Enter the Client Secret you created
  4. Enter the Tenant ID (or use "common" for multitenant apps)
  5. Click Connect Microsoft
  6. A Microsoft login window will open — sign in with the account you want to send from
  7. Grant permission for FormBlade to send email on your behalf
  8. You will be redirected back to FormBlade with the connection confirmed

Step 5: Send a test email

  1. Click Send Test Email
  2. Check your inbox for the test notification

Troubleshooting

SMTP: "Authentication unsuccessful" error

SMTP: "Sending limit exceeded" error

Graph API: "AADSTS50011: redirect_uri does not match"

Graph API: "Insufficient privileges" error

Graph API: "Client secret expired"

Emails not arriving from O365

Sending limits summary

Account typeDaily limitRate limitMethod
Outlook.com (personal)300/day30/minSMTP
Microsoft 365 (work)10,000/day30/minSMTP or Graph API
Microsoft 365 (Graph API)10,000/dayVaries by tenantGraph API

Microsoft 365 provides the highest free sending limits of any provider listed here (10,000/day), making it an excellent choice for organizations already using Office 365. Personal Outlook.com accounts are more limited at 300/day but still sufficient for low-traffic forms.

Common gotchas

Quick reference: where to find things

What you needWhere to find it
Outlook.com App Passwordsaccount.live.com/proofs/manage/additional → App passwords
O365 App Passwordsmysignins.microsoft.com/security-info → Add sign-in method → App password
Azure App RegistrationsAzure Portal → App registrations
API PermissionsAzure Portal → App registrations → your app → API permissions
Client SecretAzure Portal → App registrations → your app → Certificates & secrets
Tenant ID / Client IDAzure Portal → App registrations → your app → Overview
Official documentation: For the latest on Microsoft SMTP settings, Graph API, and Azure AD configuration, see Microsoft's SMTP AUTH documentation and the Microsoft Graph sendMail API reference.