September 5, 2025 Contact-Form-7-Not-Sending-Emails

How to Fix Contact Form 7 Not Sending Emails to Outlook 365 (Microsoft 365)

If you’re struggling with Contact Form 7 not sending emails to Outlook 365, you’re not alone. Because Outlook (Microsoft 365) enforces SMTP authentication, generic PHP mail methods often fail. Here’s a step-by-step guide to fix it.

1. Why Contact Form 7 Fails to Send to Outlook 365

  • Outlook 365 requires SMTP auth: Without proper SMTP setup, messages are blocked or marked as spam.
  • Default PHP mail() is unreliable: It lacks authentication (SPF, DKIM), causing deliverability issues, especially with Outlook, Gmail, etc.

2. Office 365 / Microsoft 365 SMTP Settings You Need

Use the following settings in your SMTP plugin for WordPress:

  • SMTP Server: smtp.office365.com
  • Port: 587 (recommended) or 25
  • Encryption: TLS / STARTTLS (must support TLS 1.2 or later)
  • Authentication: Required (use full Microsoft 365 email + password)
  • Note on MFA: If MFA is enabled, you’ll need to use an app password.

3. Enable SMTP Authentication (SMTP AUTH) in Microsoft 365

SMTP AUTH is often disabled by default—especially for organizations created after 2020. To enable it:

  1. Go to Microsoft 365 Admin CenterUsersActive Users.
  2. Select the user account you’ll use for sending emails.
  3. Open Mail settingsManage email apps → Check Authenticated SMTP.
  4. Save changes.

If you’re using MFA, you must also disable it for this mailbox or generate an app password.

4. Use an SMTP Plugin: Recommended Tools

You’ll need a reliable SMTP plugin to route CF7 emails via Outlook 365 SMTP. Here are the top options:

  • Post SMTP: Free and powerful. Includes setup wizard, advanced logging, fallback SMTP options.
  • WP Mail SMTP: Easy to use; supports Outlook/365 mailer via OAuth or SMTP. Offers test emails, logging, and app password support.

5. Configuration Steps (Using Post SMTP as Example)

Step A: Enable SMTP AUTH in Microsoft 365 (see Section 3)

Step B: Install and Launch Plugin

  • Install Post SMTP via WordPress Plugins → Add New → Search “Post SMTP.”
  • Activate and click Start the Wizard.

Step C: Input SMTP Settings

  • SMTP Host: smtp.office365.com
  • Port: 587
  • Encryption: TLS
  • Username: your full Outlook 365 email
  • Password: your normal password or app password (if MFA enabled)

Step D: Send Test Email

Use the plugin’s test feature to confirm successful setup and troubleshoot errors.

6. Fix Common Configuration Pitfalls

  • From” address mismatch: Ensure the email in the CF7 Mail > “From” field matches your domain and SMTP account. Set it to something like noreply@yourdomain.com.
  • Proper field tags: CF7 Mail tab must include form tags (e.g., [your-name]) in the message. Leaving it blank causes failure.
  • Hosting limitations: Some hosts block PHP mail or required SMTP ports. Use SMTP plugin to bypass these limits

Bonus: WP Mail SMTP with Outlook/365 OAuth (Alternative)

If you’re comfortable with OAuth setup:

  • Choose Outlook/365 in WP Mail SMTP plugin mailer settings.
  • Register an Azure app, add Redirect URI, copy Application ID and Client Secret.
  • Authorize, then run a test email to confirm everything works.

Conclusion: By enabling SMTP AUTH in Microsoft 365 and configuring CF7 to send via authenticated Office 365 SMTP, your contact form emails will reliably reach Outlook recipients. Use the Post SMTP or WP Mail SMTP plugins to manage the setup, testing, and future monitoring.