Your Journal Is Live. But Authors Aren't Receiving Submission Confirmations.

You installed OJS. You published your first issue. Authors are submitting manuscripts. But they are not receiving the confirmation emails that tell them their submission was successful. Reviewers are not receiving invitation emails. Editors are not getting notification of new submissions.

SponsoredNeed OJS hosting that scales?

Managed OJS hosting with backups, SSL, and priority support for scholarly publishers.

See pricing plans →

Your OJS installation is working. The problem is email delivery. By default, OJS uses PHP's built-in mail() function, a function that works on some servers but fails silently on most modern hosting environments, particularly shared hosting and cloud VPS.

When PHP mail() fails, OJS shows no error. Emails simply disappear. Your editorial team has no way of knowing that the notification system is broken until authors start complaining about missing confirmations.

Configuring OJS to use SMTP, Simple Mail Transfer Protocol, is the solution. SMTP uses a dedicated email server to send messages reliably. It works on every hosting environment. It provides delivery reports so you can see whether emails succeeded or failed. It is the professional standard for application email delivery.

This guide walks you through SMTP configuration for OJS with Gmail, SendGrid, Mailgun, and institutional SMTP servers, plus troubleshooting for the most common email delivery problems, written by OJS specialists who have set up email delivery for journals across 20+ countries.

If you want an expert to configure OJS email correctly, visit ojsguru.com for a free consultation.

Why SMTP Is Essential for OJS

PHP mail() is unreliable. PHP's mail() function relies on your server's local mail transfer agent (MTA). On most modern servers, this is not configured or is blocked. Emails sent via mail() fail silently with no error message.

SMTP is reliable and traceable. SMTP uses a dedicated external mail server. If delivery fails, you receive a specific error message telling you why. If delivery succeeds, you get confirmation.

SMTP is required by email providers. Gmail, SendGrid, Mailgun, and other email services only accept mail via SMTP. They do not accept mail from local MTAs.

SMTP enables authentication. SMTP credentials prove your journal is authorized to send from your domain. Without authentication, emails are likely to be flagged as spam or rejected entirely by recipient mail servers.

Option 1: Gmail SMTP Configuration

Gmail is the easiest SMTP option for small journals. It is free and requires no credit card.

Step 1, Create or designate a Gmail account

Create a Gmail account specifically for your journal, do not use a personal account. Example: journal@gmail.com

Step 2, Enable 2-Step Verification

Gmail SMTP requires 2-Step Verification to be enabled:

  1. Log in to your Gmail account
  2. Go to myaccount.google.com/security
  3. Find 2-Step Verification and enable it
  4. Follow Google's setup process (adds security code confirmation to login)

Step 3, Generate an App Password

After enabling 2-Step Verification:

  1. Go to myaccount.google.com/apppasswords
  2. Select Mail and Other (custom name)
  3. Enter "OJS Journal"
  4. Click Generate
  5. Google displays a 16-character password, copy this exactly

This is your SMTP password. Use this instead of your Gmail password in OJS.

Step 4, Configure OJS SMTP Settings

Go to Settings → Distribution → Email in OJS:

Default Email Address: journal@gmail.com
Email Signature: [Your Journal Name]
SMTP Server: smtp.gmail.com
SMTP Port: 587
SMTP Authentication: Yes
Username: journal@gmail.com
Password: [your 16-character app password]
Encryption: TLS

Step 5, Test Email Delivery

Go to Administration → System Information → Email and click Send Test Email. Check your inbox for the test message.

Gmail SMTP Limitations:

  • Free tier limited to approximately 500 emails per day
  • For journals with high submission volume, this limit will be exceeded
  • If you exceed the limit, switch to SendGrid or Mailgun

Option 2: SendGrid SMTP Configuration

SendGrid is a professional email service ideal for medium to large journals.

Step 1, Create a SendGrid Account

Go to sendgrid.com and sign up. The free tier includes 100 emails per day, upgrade to a paid plan if you need more volume.

Step 2, Verify Your Sending Domain

SendGrid requires you to verify that you own the domain you will send from.

  1. Log in to SendGrid
  2. Go to Settings → Sender Authentication
  3. Click Verify a Domain
  4. Enter your journal domain (e.g., yourjournal.com)
  5. SendGrid provides DNS records to add to your domain
  6. Add the records in your domain registrar's DNS settings
  7. Wait for verification (typically 24 hours)

Step 3, Create an API Key

  1. Go to Settings → API Keys
  2. Click Create API Key
  3. Name it "OJS Journal"
  4. Copy the generated key (you will use this as your SMTP password)

Step 4, Configure OJS SMTP Settings

Go to Settings → Distribution → Email in OJS:

Default Email Address: editor@yourjournal.com
Email Signature: [Your Journal Name]
SMTP Server: smtp.sendgrid.net
SMTP Port: 587
SMTP Authentication: Yes
Username: apikey
Password: [your SendGrid API key]
Encryption: TLS

Note: Username is always "apikey" for SendGrid, not your email address.

Step 5, Test Email Delivery

Send a test email and verify delivery in SendGrid's dashboard under Activity → Emails.

SendGrid Advantages:

  • Professional email tracking and analytics
  • High deliverability reputation
  • Paid plans scale from 100 to 100,000 emails per month
  • Excellent documentation and support

Option 3: Mailgun SMTP Configuration

Mailgun is similar to SendGrid but often simpler to set up.

Step 1, Create a Mailgun Account

Go to mailgun.com and sign up. The free tier includes 5,000 emails per month.

Step 2, Add Your Domain

  1. Log in to Mailgun
  2. Go to Domains and click Add New Domain
  3. Enter your journal domain
  4. Mailgun provides DNS records
  5. Add the records to your domain's DNS settings
  6. Wait for verification (typically 24 hours)

Step 3, Get Your SMTP Credentials

  1. Go to your domain's settings in Mailgun
  2. Under SMTP, you will see:
  • SMTP Host: smtp.mailgun.org
  • Default SMTP Login: postmaster@yourjournal.com
  • Default Password: (shown in your account settings)

Step 4, Configure OJS SMTP Settings

Go to Settings → Distribution → Email in OJS:

Default Email Address: editor@yourjournal.com
Email Signature: [Your Journal Name]
SMTP Server: smtp.mailgun.org
SMTP Port: 587
SMTP Authentication: Yes
Username: postmaster@yourjournal.com
Password: [your Mailgun SMTP password]
Encryption: TLS

Step 5, Test Email Delivery

Send a test email and verify it appears in Mailgun's Logs section.

Option 4: Institutional SMTP Configuration

Universities and research institutions often have their own SMTP servers that can be used for journal email.

Step 1, Get SMTP Credentials from Your IT Department

Contact your institution's IT support and request SMTP credentials:

  • SMTP server address (e.g., smtp.institution.edu)
  • Port (typically 587 or 465)
  • Username and password
  • Whether authentication is required
  • Whether encryption is required (TLS or SSL)

Step 2, Configure OJS SMTP Settings

Go to Settings → Distribution → Email in OJS and enter the credentials your IT department provided:

Default Email Address: [institutional email]
Email Signature: [Your Journal Name]
SMTP Server: [server from IT]
SMTP Port: [port from IT]
SMTP Authentication: Yes
Username: [credentials from IT]
Password: [credentials from IT]
Encryption: [TLS or SSL, per IT]

Step 3, Test Email Delivery

Send a test email to verify delivery.

Institutional SMTP Advantages:

  • Free for affiliated staff
  • Highest trust reputation (emails from institution domain are rarely flagged as spam)
  • No volume limits (typically)
  • Integration with institutional email infrastructure

Verifying SMTP Is Working Correctly

After configuration, verify that email delivery is actually working:

Test 1, Send a test email from OJS

Go to Administration → System Information → Email and click Send Test Email. Check your inbox (and spam folder) for the test message.

Test 2, Monitor the OJS error log

Go to /cache/logs/errors.log and check for SMTP-related errors. If authentication fails, you will see errors like:

SMTP connect() failed
Authentication failed (535 error)

Fix the credentials if errors appear.

Test 3, Verify sending domain settings

For SendGrid and Mailgun, verify that your sending domain is verified:

  • SendGrid: Go to Settings → Sender Authentication and confirm domain shows as verified
  • Mailgun: Go to Domains and confirm domain shows as verified

Test 4, Monitor email logs in your provider

After sending a test email:

  • Gmail: Check your Gmail Sent folder to confirm the message was sent
  • SendGrid: Go to Activity → Emails and confirm the test message appears with a "Delivered" status
  • Mailgun: Go to Logs and confirm the message appears with a "delivered" status

If the test message does not appear in your provider's logs, the connection is not working. Check credentials and try again.

Configuring Email Templates in OJS

After SMTP is configured, ensure all email templates are enabled in OJS so that notifications actually send:

Go to Workflow Settings → Email → Email Templates

Confirm these critical templates are enabled:

TemplateTriggers When
SUBMISSION_ACKAuthor submits an article
EDITOR_ASSIGNSubmission assigned to editor
REVIEW_REQUESTReviewer invited to review
REVIEW_CONFIRMReviewer accepts invitation
REVIEW_DECLINEReviewer declines invitation
EDITOR_DECISION_ACCEPTAcceptance decision sent to author
EDITOR_DECISION_DECLINERejection decision sent to author

If any of these templates are disabled, the corresponding notifications will not send even if SMTP is configured correctly.

Common SMTP Configuration Problems and Solutions

Problem: "SMTP connect() failed"

Cause: Server, port, or credentials are wrong. SMTP connection cannot be established.

Solution:

  • Verify SMTP server address is correct (no typos)
  • Verify port is correct (usually 587 or 465, not 25)
  • Test connection manually using telnet or a mail client (Thunderbird) with the same credentials
  • Check that your server is not blocking outgoing connections on the SMTP port

Problem: "Authentication failed" or "535 error"

Cause: Username or password is incorrect.

Solution:

  • Double-check your username and password (especially for Gmail, use the 16-character app password, not your regular password)
  • For SendGrid, confirm username is "apikey"
  • Reset your password with the email provider and update OJS

Problem: Emails send but go to spam

Cause: Sending domain lacks SPF, DKIM, or DMARC records. Recipient servers flag the email as suspicious.

Solution:

  • Add SPF record to your domain DNS
  • Add DKIM record (provided by your email provider)
  • Add DMARC record (set to monitoring mode initially)
  • Use your provider's domain verification feature to ensure records are correct
  • Test domain reputation at mxtoolbox.com

Problem: Port 587 connection times out

Cause: Your server's firewall is blocking outgoing SMTP connections on port 587.

Solution:

  • Try port 465 instead (alternative SMTP port)
  • Contact your hosting provider to unblock port 587 or 465
  • Use your provider's alternate SMTP server if available

Problem: "STARTTLS not supported" error

Cause: SMTP encryption method (TLS) is not supported. Try SSL instead.

Solution:

  • Change encryption from TLS to SSL
  • Try port 465 (standard for SSL) instead of 587 (standard for TLS)
  • Check with your email provider which encryption method they support

Best Practices for Production OJS Email

Use a dedicated email address

Do not use a personal email as your SMTP sender. Create a dedicated journal address like notifications@yourjournal.com or editor@yourjournal.com.

Monitor bounce rates

If emails start bouncing, investigate immediately. Check your email provider's logs for reasons. Common reasons include:

  • Invalid recipient addresses (typos in email fields)
  • Recipient mail server rejecting your domain
  • Rate limiting (too many emails sent too quickly)

Set up sender authentication

For professional journals, implement SPF, DKIM, and DMARC:

  • SPF: Tells recipient servers which servers are authorized to send from your domain
  • DKIM: Adds a cryptographic signature to your emails so they cannot be forged
  • DMARC: Tells recipient servers what to do with emails that fail SPF/DKIM checks

These are not required for OJS to send email, but they dramatically improve deliverability and prevent your emails from being flagged as spam.

Monitor email volume

Free tiers on Gmail (500/day), SendGrid (100/day), and Mailgun (5,000/month) have limits. Monitor your journal's email volume and upgrade your plan if approaching the limit.

When to Call in a Professional

SMTP configuration is straightforward once you have the right credentials, but some situations benefit from professional help:

  • Your SMTP configuration is correct but emails are still not sending and you cannot diagnose why
  • Your email provider's documentation is unclear or doesn't match your setup
  • You need SPF, DKIM, and DMARC records set up correctly on your domain
  • You want to verify email delivery is working correctly before your journal launches
  • You need help choosing the right email provider for your journal's volume

OJS Guru configures SMTP email delivery for OJS journals, including provider selection, credential setup, domain verification, authentication record configuration, and testing to confirm delivery is working.

👉 Get a free consultation at ojsguru.com

Summary

Configuring SMTP email for OJS is essential for reliable notification delivery. The configuration steps differ by provider but follow the same pattern:

  1. Create or designate an email account/provider
  2. Obtain SMTP credentials
  3. Enter credentials in OJS Settings → Distribution → Email
  4. Enable required email templates in Workflow Settings → Email Templates
  5. Send a test email to verify delivery
  6. Monitor email logs to confirm messages are reaching recipients

Done correctly, your editorial team and authors will receive all OJS notifications reliably, keeping your peer review workflow moving and your journal operating smoothly.

If you want an expert to configure OJS email delivery and verify it is working correctly, contact OJS Guru at ojsguru.com. We set up email for OJS journals regularly and we'll ensure your notifications reach recipients every time.

OJS Guru is a professional Open Journal Systems service provider specializing in OJS installation, customization, migration, and technical support for research journal publishers in 20+ countries. Visit ojsguru.com to request a free consultation.