SMTP2GO SMTP test — mail.smtp2go.com ports & 535 fix

SMTP2GO SMTP test for mail.smtp2go.com with full handshake transcript. Configure SMTP users, verify sender domains, test ports 587/465/2525 and fix 535 errors.

8 min read Provider & MTA setup

Connection settings

Host
mail.smtp2go.com
Port
587
Security
STARTTLS

SMTP2GO is a dedicated transactional SMTP relay used by web applications, WordPress websites, and engineering teams that require reliable outbound deliverability without maintaining self-hosted MTAs. When configuring SMTP2GO in your application, plugin, or framework, use this live SMTP testing workflow to verify connectivity, TLS negotiation, and credentials before troubleshooting application-level dispatch errors.

Testing the raw protocol handshake in your browser isolates network firewall blocks, port timeouts, and authentication errors within seconds. If you want a refresher on the underlying mechanics, our primer on what an SMTP test is and how it works covers each stage from initial TCP connect to final queue acknowledgement.

Recommended settings

How SMTP2GO SMTP usernames work

The single most common setup issue with SMTP2GO is using the wrong credential type, resulting in immediate 535 Authentication failed errors.

SMTP2GO enforces a strict separation between your web dashboard credentials and your SMTP relay credentials:

This scoped architecture ensures that individual apps, staging environments, and microservices have isolated access keys. If one application's credentials are leaked or need rotation, you can revoke that single SMTP user without changing your administrative password or breaking other services.

Creating an SMTP user

  1. Log into the SMTP2GO dashboard.
  2. Navigate to Settings → Users → SMTP Users (or SMTP & API → SMTP Users).
  3. Click Add SMTP user.
  4. Define a username and secure password (or let SMTP2GO generate one).
  5. Copy the credentials into your application configuration.

A recommended isolation pattern for production systems:

SMTP User Application Environment Operational Benefit
prod-wp Primary WordPress site Rotate without interrupting background billing
staging-ci Staging server & automated tests Keeps test volume isolated from production metrics
billing-svc Invoicing microservice Limits failure blast radius if an API client malfunctions

Using your personal account email and web password in SMTP clients will reliably fail with error 535. For a complete checklist covering this and other providers, see our guide on fixing SMTP authentication error 535.

Verifying your sender domain

SMTP2GO allows sending through their shared test domain upon account creation, which is adequate for an initial connectivity smoke test. However, production delivery requires verifying your custom sending domain:

  1. In the SMTP2GO dashboard, navigate to Settings → Sender Domains and add your domain.
  2. Publish the three CNAME records provided by SMTP2GO into your DNS provider (Cloudflare, Route 53, Namecheap, etc.). These records establish DKIM (DomainKeys Identified Mail) signing and return-path alignment.
  3. Wait for DNS propagation, then click Verify in the dashboard.
  4. Update your application's From: header to use an address ending in your verified domain.

Sending from an unverified domain frequently triggers spam folder placement or downstream bounces, even when SMTP2GO accepts the message with 250 OK.

Running the test with SMTP Tester

  1. In the test form, enter host mail.smtp2go.com, port 587, and security STARTTLS.
  2. Enter your generated SMTP user username and password into the respective fields.
  3. Supply a From: address matching your verified domain.
  4. Enter your destination email in the To: field (or select Handshake-only to verify credentials without sending an email).
  5. Click Run Test and observe the live protocol transcript.

Interpreting the transcript stages

Port selection: 587, 465, 2525, or 8025?

SMTP2GO exposes its relay on several submission ports to provide failover paths across restrictive hosting environments and firewalls:

Port Security Mode Best Used When
587 STARTTLS Standard submission port; default choice for modern apps and plugins.
465 Implicit TLS Legacy clients requiring SSL on connect, or when deep packet inspection blocks STARTTLS upgrades.
2525 STARTTLS Alternative port if cloud hosting (DigitalOcean, AWS, Linode) or local ISPs filter port 587.
8025 STARTTLS SMTP2GO-specific fallback for locked-down corporate egress firewalls.
80 / 25 STARTTLS Emergency fallbacks; note that residential ISPs universally block outbound port 25.

For an architectural breakdown of implicit TLS versus opportunistic encryption, read our in-depth analysis on SMTP port 587 vs 465.

Code examples for applications

Once your test passes in SMTP Tester, integrate the verified parameters into your codebase using standard libraries.

Node.js (Nodemailer)

import nodemailer from "nodemailer";

const transporter = nodemailer.createTransport({
  host: "mail.smtp2go.com",
  port: 587,
  secure: false, // true for port 465, false for 587/2525 with STARTTLS
  auth: {
    user: process.env.SMTP2GO_USER, // Dedicated SMTP user username
    pass: process.env.SMTP2GO_PASS, // Dedicated SMTP user password
  },
});

// Verify connection without dispatching mail (mirrors handshake-only mode)
await transporter.verify();
console.log("SMTP2GO server ready for delivery");

// Send outbound message
const info = await transporter.sendMail({
  from: '"Operations" <alerts@your-verified-domain.com>',
  to: "recipient@example.com",
  subject: "SMTP2GO Deployment Test",
  text: "SMTP connection verified successfully via nodemailer.",
});

console.log("Message queued:", info.messageId);

Python (smtplib)

import smtplib
import os
from email.message import EmailMessage

smtp_user = os.environ.get("SMTP2GO_USER")
smtp_pass = os.environ.get("SMTP2GO_PASS")

msg = EmailMessage()
msg["Subject"] = "SMTP2GO Python Test"
msg["From"] = "alerts@your-verified-domain.com"
msg["To"] = "recipient@example.com"
msg.set_content("SMTP connectivity verified via Python smtplib on port 587.")

# Connect using STARTTLS on port 587 (or port 2525)
with smtplib.SMTP("mail.smtp2go.com", 587) as server:
    server.ehlo()
    server.starttls()
    server.ehlo()
    server.login(smtp_user, smtp_pass)
    server.send_message(msg)

print("Email sent successfully via SMTP2GO")

PHP / WordPress (wp_mail & PHPMailer)

For WordPress websites, configure the WP Mail SMTP plugin:

  1. In WP Admin, open WP Mail SMTP → Settings.
  2. Select Other SMTP (or the native SMTP2GO integration).
  3. Set SMTP Host to mail.smtp2go.com.
  4. Set Encryption to TLS and SMTP Port to 587 (or SSL with port 465).
  5. Set Auto TLS to On.
  6. Enable Authentication and enter your generated SMTP user username and password.
  7. Click Save Settings and run the built-in email test.

To keep credentials out of the WordPress database, define constants in wp-config.php:

define('WPMS_ON', true);
define('WPMS_SMTP_PASS', 'your-smtp2go-password');

Common troubleshooting scenarios

1. 535 Authentication Failed

2. Connection Timed Out on Port 587

3. Sender Rejected / 550 Domain Verification

Comparison with other transactional relays

If you are evaluating transactional email providers, compare how credential models and ports differ across services:

Frequently asked questions

Can I use my SMTP2GO account email and password for SMTP?

No. SMTP authentication requires the username and password of an SMTP user created on the SMTP Users page in your dashboard. Account login credentials only work in the web application. If your transcript shows 535 after AUTH, this credential mismatch is almost always the cause.

Can I create multiple SMTP users on one account?

Yes. Each SMTP user shares your account's sending limits and domain verification but has its own username and password. Create separate users for production, staging, and microservices so you can revoke an individual credential without impacting other systems.

Which port is best: 587, 465, or 2525?

Default to port 587 with STARTTLS. Use port 2525 if your ISP or VPS provider blocks 587, and use port 465 if your client application enforces implicit SSL/TLS from the initial connection byte.

Does a passing handshake test guarantee inbox delivery?

No. A 250 OK confirms that SMTP2GO accepted the message into its delivery pipeline. Final recipient inbox delivery depends on domain reputation, correct SPF and DKIM DNS alignment, and recipient filtering policies.

Try it on your own server

Run these settings against your SMTP server and watch the live, credential-redacted protocol transcript.

Open SMTP Tester →