SMTP Connection Errors: Every Common Failure Explained & Fixed

Refused, timed out, hung, dropped mid-conversation, or rejected with a cryptic three-digit code — every common SMTP connection failure mode, decoded with a realistic path to a fix.

📅 Published August 2026· ⏳ 20 min read· ✍️ ToolsNovaHub Editorial Team
🛠️ Related tool: Open SMTP Tester →

Why SMTP Errors Are Genuinely Confusing to Diagnose

Compared to a web browser's relatively friendly "This site can't be reached" messaging, SMTP connection errors tend to surface as either a bare, unhelpful timeout, a terse three-digit code with minimal explanatory text, or — worst of all — nothing at all, just an indefinite hang. Part of this comes down to SMTP being a considerably older, terser protocol designed in an era when verbose error messaging wasn't a design priority the way it is for modern user-facing software. Part of it comes down to a genuine, deliberate ambiguity: many anti-spam and anti-abuse techniques work specifically by behaving indistinguishably from a genuine network failure, on the theory that automated spam tools give up quickly at the first sign of trouble while legitimate mail software patiently retries. Understanding which category a given error falls into — network-level, protocol-level, or a deliberate anti-abuse behavior — is the single most useful mental model for making sense of what would otherwise look like an undifferentiated pile of cryptic failures.

ToolsNovaHub Pro Tip
Note the exact wording of the error, not just that something failed. 'Connection refused' and 'Connection timed out' point to entirely different root causes and different fixes — treating them as interchangeable is the single most common way troubleshooting time gets wasted.
⚠️
Common Beginner Mistake
Assuming every SMTP error means the destination server is broken or down. A large share of connection errors originate from your own network's outbound firewall rules, your DNS resolution, or a deliberate anti-spam mechanism on the receiving end — not a genuinely broken mail server.

The Three Fundamental Categories of Connection Failure

CategoryWhat's HappeningTypical Symptom
Actively refusedTarget host responds immediately, explicitly declining the connectionFast, clear 'Connection refused' message
Silently dropped / timeoutNo response received at all within the wait periodIndefinite hang followed by a timeout after 10-30+ seconds
Accepted then rejected/droppedTCP connection succeeds, but the server then closes it or returns a rejection codeBrief connection followed by an abrupt disconnect or an explicit SMTP error code

Each category points toward a genuinely different set of likely causes, which is why correctly identifying which one you're actually experiencing — rather than lumping everything together as "it's not working" — is the first and most valuable diagnostic step.

Connection Refused, in Depth

An actively refused connection means the target machine received your connection attempt and explicitly declined it, almost always because nothing is actually listening on that port, or a firewall on that specific host is configured to send an explicit rejection rather than silently drop the traffic. This is functionally different from — and generally easier to diagnose than — a timeout, because it confirms the host itself is reachable at the network level; the problem is specifically that nothing wanted to accept your connection on that particular port. Common causes include the mail service not actually running (stopped, crashed, or never started), a firewall on the host itself configured to reject specific ports, or connecting to the wrong port entirely for what that server actually offers (attempting port 465 against a server that only accepts 587, for instance).

Connection Timed Out, in Depth

A timeout is a fundamentally different signal: your connection attempt went out, and nothing came back at all within the wait period — no rejection, no acceptance, just silence. This almost always indicates a firewall somewhere along the path silently dropping the packets rather than sending an explicit rejection, a deliberate and common security posture, since silently dropping traffic gives an attacker or scanner less information than an explicit rejection would (a rejection confirms the host exists and is reachable; a silent drop leaves that ambiguous). Common causes include a firewall on the destination network blocking that specific port from your source IP or network, your own outbound network blocking that port (extremely common for port 25 specifically), or the destination host being genuinely unreachable due to a routing or DNS issue.

Common SMTP Response Codes and What They Actually Mean

CodeCategoryMeaning
220SuccessService ready — the initial greeting banner when a connection is accepted
221SuccessService closing transmission channel — a clean, expected disconnect
250SuccessRequested action completed successfully
354Success (intermediate)Server ready to receive message data (after DATA command)
421Temporary failureService not available — server shutting down, overloaded, or connection limit reached
450Temporary failureMailbox temporarily unavailable — often greylisting or a temporary local issue
451Temporary failureLocal error in processing — an unexpected server-side error worth retrying
452Temporary failureInsufficient system storage — server-side resource issue
500Permanent failureSyntax error, command unrecognized — often a malformed or unsupported command
550Permanent failureRequested action not taken — mailbox unavailable, doesn't exist, or policy rejection
551Permanent failureUser not local — recipient isn't handled by this server; relay elsewhere needed
552Permanent failureExceeded storage allocation — message or mailbox size limit exceeded
553Permanent failureMailbox name not allowed — often a syntactically invalid address
554Permanent failureTransaction failed — a general catch-all permanent failure, often policy-related

The distinction between 4xx (temporary) and 5xx (permanent) codes matters enormously for how a sending system should respond: a well-behaved mail server automatically retries 4xx failures on a backoff schedule, since the underlying condition is expected to potentially resolve, while retrying a 5xx failure without changing anything is generally pointless, since the same rejection will simply recur.

Greylisting: An Error That Isn't Really an Error

A 450 or similar temporary rejection on a first delivery attempt is frequently not a problem at all but a deliberate anti-spam technique called greylisting, working on the observation that most spam-sending infrastructure doesn't bother retrying a temporarily rejected message, while legitimate, standards-compliant mail servers automatically do. A greylisting server temporarily rejects mail from a sender/recipient/IP combination it hasn't seen before, expecting a properly behaving server to retry after a short delay — typically minutes — at which point the message is accepted normally and future messages from that same combination pass through without delay. Seeing an initial 450-style rejection followed by successful delivery on retry, sometimes with no changes made at all, is completely normal greylisting behavior rather than an actual problem needing a fix.

Diagnosing a Sudden, Unexplained Connection Failure

When a connection that was previously working suddenly starts failing with no known local changes, work through likely causes roughly in this order: check whether the destination host's DNS record changed (a migration, a DNS provider switch, a typo introduced during an update), check whether any firewall rule was recently modified on either end, check the destination provider's public status page for any reported outage, and check whether your own network's outbound rules changed (a new security appliance, an ISP policy update, a corporate network change). A sudden failure with truly no changes on either side is rare enough that it's worth specifically searching for what did change before assuming a mysterious, unexplained cause.

Expert Tips for Diagnosing Connection Errors Efficiently

💡
Distinguish Refused From Timed Out Immediately
This single distinction narrows your search space enormously — refused points to the destination host itself, timeout points more often toward a firewall somewhere in the path.
💡
Test the Same Port From Multiple Networks
A failure specific to one network (home, office, cloud provider) versus a failure everywhere points toward very different root causes and very different fixes.
💡
Don't Panic Over a First-Attempt 450
A single temporary rejection followed by successful delivery on retry is often just greylisting working exactly as intended, not a problem requiring investigation.
💡
Check What Changed Before Assuming a Mystery
Sudden failures with no obvious local cause are almost always explained by a change somewhere — DNS, firewall, provider status — that simply hasn't been noticed yet.

Connection Errors Specific to Cloud and Virtualized Environments

Servers running on major cloud platforms (AWS, Google Cloud, Azure, DigitalOcean, and similar) face a specific, recurring category of connection error worth calling out separately, since it's easy to misdiagnose as a server-side configuration problem when it's actually a platform-level default policy. Nearly every major cloud provider blocks outbound port 25 by default on new accounts and instances, specifically because cloud infrastructure has historically been a popular target for spam operations exploiting easily provisioned, disposable compute resources. This block happens entirely outside your own server's operating system or firewall configuration — no amount of local firewall troubleshooting on the instance itself will resolve it, since the block is enforced at the network fabric level by the cloud provider before traffic ever reaches your instance's own network interface. The fix is almost always requesting an explicit removal of the restriction through the provider's support process (which typically requires justifying the legitimate use case, given the abuse history), or avoiding port 25 entirely in favor of port 587 or 465 through an authenticated relay, which most cloud providers don't restrict by default the same way.

Distinguishing a Cloud Provider Block From a Genuine Configuration Issue

TestIf This Points to a Cloud Provider BlockIf This Points to a Configuration Issue
Port 25 outbound from the cloud instanceTimes out consistently, regardless of destinationFails inconsistently or only against specific destinations
Port 587/465 outbound from the same instanceWorks normallyAlso fails, suggesting a broader local firewall or network issue
Same test from a non-cloud network (home, office)Port 25 succeeds normallyAlso fails, suggesting the issue isn't cloud-specific at all
Provider's own documentation/supportExplicitly confirms outbound 25 is blocked by defaultNo mention of a default restriction for your specific service tier

Running through this comparison quickly distinguishes a platform-level restriction (requiring a support request to the cloud provider) from an actual local misconfiguration (requiring a fix on your own server or application), which is a meaningfully different — and considerably less frustrating — troubleshooting path once correctly identified.

How Virtual Private Networks and Proxies Affect Connection Testing

Testing SMTP connectivity while connected through a VPN or corporate proxy introduces another variable worth accounting for explicitly, since the effective outbound path — and therefore the effective firewall rules and source IP address — is determined by the VPN or proxy exit point, not your actual physical network location. A connection test that fails while connected to a VPN may succeed perfectly once disconnected, or vice versa, and this doesn't indicate anything is broken on either end — it simply reflects that you were testing two genuinely different network paths with potentially different outbound policies. When troubleshooting a connection issue, explicitly noting whether a VPN or proxy was active during each test, and testing both with and without it where practical, avoids drawing an incorrect conclusion about which network path is actually the one relevant to your production mail-sending infrastructure.

Real-World Use Cases

🔍
Diagnosing a New Server's Connectivity
Confirming a freshly deployed mail server actually accepts connections as expected before relying on it for production mail flow.
🚫
Investigating Blocked Outbound Port 25
Distinguishing a cloud provider's default outbound port 25 block from an actual server-side misconfiguration when automated mail suddenly stops sending.
📈
Monitoring for Intermittent Failures
Tracking whether connection errors correlate with specific times, networks, or load conditions to catch a pattern a single manual test would miss.
Validating a Firewall Change Before Deployment
Confirming a proposed firewall rule change doesn't inadvertently block legitimate mail server connectivity before rolling it out to production.

Deep Dive: Why Silent Drops Are So Common in Modern Networks

It's worth understanding why "silent drop" has become such a dominant firewall behavior compared to the older, more explicit "reject" pattern, since the reasoning explains a lot about why timeouts feel so much more common and frustrating than clean refusals in modern SMTP troubleshooting. From a security perspective, actively rejecting a connection attempt confirms two useful pieces of information to whoever is probing: that the host exists and is reachable, and that something is specifically listening (or specifically configured to reject) on that port. A silent drop denies an attacker or automated scanner both pieces of information — the connection attempt simply vanishes, indistinguishable from probing a genuinely nonexistent host or an entirely unreachable network segment. This security benefit comes at a direct cost to legitimate troubleshooting: a network administrator or mail server operator trying to diagnose their own connectivity gets exactly the same uninformative silence an attacker would, which is precisely why timeouts are so much harder to diagnose confidently than explicit refusals — the lack of information is a deliberate design choice, not an oversight, and working around it requires gathering context from multiple angles (testing other ports, testing from other networks, checking with the destination operator directly) rather than expecting the connection attempt itself to reveal more.

How Load Balancers and Reverse Proxies Complicate Connection Diagnosis

Modern mail infrastructure, especially at any reasonable scale, is rarely a single server directly answering connections — it's frequently sitting behind a load balancer, a dedicated mail gateway, or in some architectures a reverse proxy handling the initial TCP connection before routing traffic to one of several backend mail servers. This introduces an additional layer where a connection error's true origin can be genuinely ambiguous from the client side: a timeout might mean the load balancer itself is unreachable, or that the load balancer is reachable but all backend servers it's trying to route to are unavailable, or that a specific backend server is having an issue while others remain healthy (producing the confusing pattern of a connection sometimes succeeding and sometimes failing from the exact same client, depending purely on which backend happened to be selected). Organizations operating this kind of infrastructure benefit considerably from load-balancer-level connection and health-check logging, since it's often the only vantage point that can definitively distinguish "the whole system is down" from "one backend node has an issue" — a distinction invisible to any external client-side connection test alone.

The Role of Reverse DNS in Connection Acceptance

A subtlety that surprises many people troubleshooting SMTP connectivity for the first time: some mail servers perform a reverse DNS lookup on the connecting IP address as part of deciding whether to accept the connection at all, and a missing or mismatched reverse DNS record can result in a connection being refused or significantly delayed, entirely separate from anything related to the destination server's own health or configuration. This is a deliberate anti-spam measure, since a large share of spam-sending infrastructure runs from IP addresses with no properly configured reverse DNS (PTR) record at all, or one that doesn't match the forward-confirmed pattern a legitimate mail server is expected to have. If you're troubleshooting outbound connectivity from a server you control and consistently seeing rejections specifically from certain destination providers while others work fine, checking whether your own sending IP has a correctly configured PTR record matching your mail server's actual hostname is a worthwhile, often-overlooked diagnostic step, distinct from anything covered by the destination's own port or firewall configuration.

Distinguishing Application-Layer Errors From True Connection Errors

It's worth being precise about a distinction that gets blurred in casual troubleshooting conversation: a true connection error means the TCP-level handshake itself never completed successfully, while an application-layer error (like a 550 rejection) means the connection succeeded perfectly at the network level and the SMTP protocol conversation proceeded, but the server's own application logic then declined to accept the message for a specific, application-level reason. These require completely different troubleshooting approaches. A true connection error points toward network path issues, firewalls, DNS, or the destination service not running at all. An application-layer rejection, by contrast, means none of those things are actually the problem — the network, DNS, and basic service availability are all confirmed working, and the actual issue lies in something about the specific message, sender, or recipient that the receiving server's policy engine is evaluating and rejecting. Conflating these two categories — treating a 550 rejection as if it were a network problem, for instance — leads directly to wasted troubleshooting time spent checking firewalls and DNS records that were never actually the issue.

Common 550 Rejection Sub-Reasons

Sub-Reason (often in the extended message text)What It MeansTypical Fix
User unknown / mailbox does not existThe specific recipient address doesn't exist on that serverVerify the recipient address is spelled correctly and actually exists
Domain not found / no such domainThe recipient domain itself doesn't resolve or has no valid mail configurationConfirm the domain is spelled correctly and check its MX records
Sender blocked / IP on blocklistThe sending IP or domain appears on a reputation blocklist the receiving server checksCheck the sending IP against major blocklists and pursue delisting if warranted
SPF/DKIM/DMARC failure enforced at rejectThe receiving server's policy engine rejected based on failed authentication checksVerify SPF, DKIM and DMARC are correctly configured for the sending domain
Message content flagged by policyContent-based spam filtering rejected the message outright rather than just tagging itReview message content for common spam trigger patterns, excessive links, or suspicious formatting

Reading Full Bounce Messages, Not Just the Code

When a message ultimately fails to deliver, the bounce notification returned to the sender typically contains far more diagnostic value than the bare three-digit code alone, and skipping past the accompanying text is one of the most common ways real troubleshooting time gets wasted. Beyond the code itself, a well-formed bounce message usually includes the receiving server's own explanatory text, which often names the specific reason far more precisely than the generic code category alone could — "550 5.1.1 The email account that you tried to reach does not exist" is considerably more actionable than a bare "550" would be on its own, immediately ruling out entire categories of possible causes (server reachability, authentication, content filtering) in favor of a single, specific, addressable issue (a wrong or nonexistent recipient address). Extended SMTP status codes (the "5.1.1" portion in that example, standardized under RFC 3463) add a further layer of specificity beyond the basic three-digit code, breaking failures down into a class (permanent vs temporary), a subject (addressing, mailbox, mail system, network, content, or policy), and a detail — worth learning to read directly rather than treating the entire bounce message as an opaque block of text to skim past on the way to the basic code.

A Field Guide to Extended Status Codes

Extended Code PatternCategoryCommon Meaning
X.1.1AddressingBad destination mailbox address — recipient doesn't exist
X.1.2AddressingBad destination system address — domain-level addressing problem
X.1.7AddressingBad sender's mailbox address syntax — malformed From: address
X.2.1MailboxMailbox disabled, not accepting messages
X.2.2MailboxMailbox full — recipient has exceeded their storage quota
X.4.4Network/routingUnable to route — often a DNS or MX configuration issue on the recipient side
X.7.1Security/policyDelivery not authorized, message refused — often a policy or reputation-based block
X.7.26Security/policyMessage not accepted due to failed DMARC/authentication evaluation

The leading digit (4 or 5) still carries the primary temporary-versus-permanent distinction covered earlier; the extended code that follows narrows things down to a specific, addressable category rather than leaving you to guess based on the base code and accompanying free-text message alone.

How Mail Server Software Logs Differ From Client-Visible Errors

Everything covered so far describes what's visible from the connecting client's perspective — but if you administer the receiving mail server yourself, its own local logs typically contain considerably more detail than anything sent back to a remote client, for the reasonable security reason that a server shouldn't reveal its full internal reasoning to an arbitrary, potentially adversarial remote connection. Server-side logs commonly reveal exactly which specific rule, blocklist check, rate limit, or policy condition triggered a rejection, information deliberately not included in the terse response sent back over the wire. When troubleshooting your own mail server's rejections of incoming or outgoing mail, always check the server's own local logs directly rather than relying solely on what a remote sender or your own client reports back, since the local logs are almost always the faster, more complete path to understanding a specific rejection's true root cause.

Common Mail Server Software and Where to Find Their Logs

Mail Server SoftwareTypical Log LocationWhat to Look For
Postfix/var/log/mail.log or /var/log/maillog depending on distributionConnection attempts, rejection reasons, queue status per message
Exim/var/log/exim4/mainlog or /var/log/exim/mainlogDelivery attempts, rejection reasons, and detailed SMTP transaction logs
Microsoft ExchangeExchange Management Shell transport logs / Message Tracking LogMessage tracking with full delivery path and rejection detail
Sendmail/var/log/maillog or syslog depending on configurationQueue IDs correlating connection attempts with specific rejection reasons

Expert Tips for Interpreting Bounce Messages Efficiently

💡
Always Read the Full Text, Not Just the Code
The accompanying explanatory text almost always narrows down the cause far more precisely than the bare numeric code alone — don't stop reading after the first three digits.
💡
Learn to Recognize Extended Status Code Patterns
The X.Y.Z format after the base code carries specific, standardized meaning worth learning to read directly rather than treating as noise.
💡
Check Server-Side Logs When You Control the Destination
If you administer the receiving server, its own logs almost always contain more actionable detail than what's sent back to the remote client.
💡
Correlate Timing With Known Changes
A rejection that started at a specific point in time is often explained by whatever changed around that same time — a deployment, a DNS update, a policy change — cross-reference before assuming an unrelated cause.

Building a Repeatable Connection Testing Routine

Rather than troubleshooting reactively each time a connection issue surfaces, teams responsible for mail infrastructure benefit from establishing a lightweight, repeatable testing routine run on a regular schedule — even something as simple as a scheduled script that attempts a connection to each relevant port and destination, logging the result and alerting on any change from the expected baseline. This turns connection troubleshooting from a purely reactive activity (someone notices mail isn't sending, then scrambles to figure out why) into a proactive one, catching a newly introduced firewall rule, an expired certificate affecting a TLS-dependent connection, or a DNS misconfiguration within minutes of it happening rather than whenever someone happens to notice downstream symptoms. This doesn't need to be sophisticated — a basic scheduled connectivity check against your own mail infrastructure's key ports, alerting on any unexpected refusal or timeout, catches a meaningful share of infrastructure problems before they become visible, stakeholder-facing incidents.

When Connection Errors Are Actually DNS Errors in Disguise

A surprising number of reported "connection errors" trace back not to anything happening at the TCP or SMTP protocol level at all, but to DNS resolution failing before a connection attempt ever gets made. If a hostname doesn't resolve — due to a typo, a stale local DNS cache still pointing at an old IP after a migration, or a genuinely broken DNS record — most tools and mail clients report some form of connection error, since from their perspective, they were never able to establish a connection, even though the actual root cause has nothing to do with networking, firewalls, or the destination server's health at all. Always confirm DNS resolution independently, using a direct DNS lookup rather than relying on the connection attempt's own error message to tell you whether the problem is DNS-related or genuinely network-related, since the two can produce very similar-looking symptoms from the outside despite having entirely different fixes.

Final Word: Errors as Diagnostic Signal, Not Just Obstacles

Every one of the error categories covered in this guide — refused, timed out, greylisted, permanently rejected — carries specific diagnostic information once you know how to read it, even though the raw experience of hitting any of them can feel equally frustrating in the moment. Building the habit of noting the exact wording, the exact code, and the exact circumstances (which network, which port, what changed recently) transforms SMTP troubleshooting from a frustrating guessing game into a genuinely systematic process with a real, findable answer at the end of it almost every time. The handful of situations that genuinely require escalation to a provider or administrator are the exception rather than the rule — the large majority of connection errors covered here are self-diagnosable with the right systematic approach and about ten minutes of careful, methodical checking.

When to Escalate Beyond Self-Diagnosis

Most connection errors are resolvable through the systematic checks covered throughout this guide, but a few situations genuinely warrant escalating to a hosting provider, network administrator, or the destination mail provider's support directly: a consistent, unexplained timeout that persists across multiple networks and multiple retries over an extended period, a sudden change in behavior with confirmed no local changes on your end, or an error code that doesn't map cleanly to any of the standard, documented meanings. In these cases, having already gathered the specific error text, the exact port and command that failed, and the networks you've already tested from considerably speeds up whatever support process you engage next, rather than starting the diagnostic process over with someone else.

Related Reading

For the port-specific context behind many of these errors, see SMTP Ports Explained. For authentication-specific failures (a distinct category from pure connection errors), read SMTP Authentication. For TLS-related connection failures specifically, see SMTP TLS vs SSL. For relay-specific rejection errors, read SMTP Relay. For a broader, systematic troubleshooting framework beyond connection errors alone, see SMTP Troubleshooting. To generate the exact commands to test a connection yourself, use the SMTP Tester.

Reviewed by: ToolsNovaHub Editorial Team📅 Last updated: August 2026📜 Sourced from: RFC 5321 (SMTP) and RFC 3463 (Enhanced Mail System Status Codes)

ToolsNovaHub tools are built and independently maintained with a focus on accurate, no-signup network and security utilities. Spotted an error? Let us know.

📋 Related Tools & Guides Comparison

ResourceTypeLink
SMTP TesterToolOpen Tool →
MX LookupToolOpen Tool →
Open Port CheckerToolOpen Tool →
SMTP AuthenticationGuideRead Guide →
SMTP Ports ExplainedGuideRead Guide →
SMTP TroubleshootingGuideRead Guide →
SMTP RelayGuideRead Guide →

Frequently Asked Questions

Connection refused means the target host actively responded, rejecting the connection attempt immediately — nothing is listening on that port, or a firewall is explicitly rejecting rather than silently dropping it. Connection timed out means no response was received at all within the wait period, typically indicating a firewall silently dropping packets or the host being genuinely unreachable.
421 is a temporary failure indicating the service is not available right now — commonly a server shutting down, temporarily overloaded, or a connection limit being reached. Unlike a permanent error, 421 suggests retrying later is reasonable, since the underlying condition is expected to resolve itself.
450 indicates the requested mail action was not taken because the mailbox is temporarily unavailable — often related to a greylisting anti-spam technique that deliberately asks the sending server to retry after a short delay, which legitimate mail servers do automatically while many spam sources don't bother.
550 is a permanent failure meaning the requested action was not taken and generally will not succeed on retry without a change — commonly the recipient mailbox doesn't exist, the domain has no valid mail configuration, or a spam/reputation-based rejection occurred.
A hanging connection with no response usually indicates a firewall silently dropping packets rather than the server or network actively communicating a rejection — this is functionally a timeout, just experienced as an indefinite wait rather than a fast, clear error.
Not exactly — a greeting delay (or 'tarpit') is a deliberate anti-spam technique where a server intentionally waits before sending its initial banner, since many spam-sending tools give up quickly while legitimate mail software waits patiently. It looks similar to a hang but is an intentional server behavior, not a network failure.
This can indicate the server applying rate limiting, detecting suspicious behavior mid-session, an IP reputation check triggering after the initial connection, or in some cases a genuine network interruption between the client and server.
It means the server is refusing to forward the message onward because the connecting client isn't authorized to relay through it — a deliberate anti-abuse restriction, most commonly seen when a client attempts to send to a recipient domain the server doesn't handle without first authenticating.
Yes — if the hostname you're connecting to doesn't resolve correctly (a typo, a stale DNS cache, or a genuinely broken DNS record), the connection attempt fails before it even reaches the network layer, producing an error that can look similar to a network-level connection problem but has an entirely different root cause and fix.
Different networks apply different outbound firewall rules — a corporate network, a home ISP connection, and a cloud hosting provider commonly have different policies on which outbound ports are allowed, so a connection error is often specific to the network you're testing from, not the destination server.
4xx codes indicate temporary failures where retrying later is reasonable and often automatic (built into most mail server software), while 5xx codes indicate permanent failures that will keep failing on retry without an actual configuration or content change addressing the root cause.
No — connection-level errors can originate from many points along the path: your own network, an intermediate firewall, DNS resolution, or the destination server itself. A server being genuinely down is only one of several possible causes, and often not the most common one.
Most tools default to somewhere between 10 and 30 seconds, which is a reasonable balance — a legitimate, reachable SMTP server typically responds within a few seconds at most, so anything approaching a 30-second wait with no response strongly suggests a network-level block rather than a genuinely slow server.
Yes — some endpoint security and antivirus products specifically intercept or block outbound connections on mail ports as part of their default configuration, which can produce connection errors that have nothing to do with the destination server or your general network configuration at all.
Check whether anything changed recently — a firewall rule update, a DNS change, a new security policy, or a provider-side outage — since a sudden failure with no local changes usually points to something that changed either at the destination or somewhere in the network path rather than a fundamental misconfiguration that was always broken.
Somewhat — SMTP servers often perform additional checks during connection setup (reverse DNS lookups, reputation checks, greeting delays) that add latency compared to a typical web request, so some additional delay compared to loading a webpage is normal and not necessarily indicative of a problem.
Yes — if a mail server has both IPv6 and IPv4 addresses published and one is misconfigured or blocked while the other works fine, clients may get inconsistent results depending on which protocol they attempt first, which is worth checking specifically when troubleshooting an intermittent issue.
Confirm the hostname resolves correctly via DNS first, then attempt a basic connection test on the specific port in question, noting precisely whether you get a refusal, a timeout, or a partial connection that then drops — each of these three outcomes points toward a different category of root cause.