Exchange ServerTroubleshooting

Event ID 12014: Exchange can't find a TLS certificate for a connector FQDN

Event 12014 means a connector has no usable certificate, so STARTTLS disappears. Line up the FQDN, certificate and TlsCertificateName, then prove TLS works again.

Event ID 12014 means a connector has no usable certificate for the name it's configured with, so it can't offer STARTTLS. Exchange Online, partners and smart hosts that insist on TLS stop exchanging mail with that server, often right after a certificate renewal. In this post I'll show how to read the event, find the mismatch, fix the binding and prove TLS is back.

Errors this guide fixes

  • Event ID 12014 (MSExchangeFrontEndTransport or MSExchangeTransport)Application log
  • Microsoft Exchange could not find a certificate that contains the domain name mail.contoso.com in the personal store on the local computer.Event ID 12014 description
  • Therefore, it is unable to support the STARTTLS SMTP verb for the connectorEvent ID 12014 description
  • 454 4.7.5 The certificate specified in TlsCertificateName of the SendConnector could not be foundQueue Viewer / Get-Queue LastError+2 more guides
  • TLS negotiation failed with error UnknownCredentialsSMTP send protocol log+1 more guide
How this guide is organised: Symptoms → Why it happens → How to fix it → Verify the fix → Prevent it next timeFlow diagram of the article's sections in reading order: 1. Symptoms. 2. Why it happens. 3. How to fix it (6 steps: Put connectors and certificates side by side; Enable the right certificate for SMTP on every server; Repoint TlsCertificateName at the new certificate; Change an FQDN only on connectors you created; Replace an expired or deleted self-signed certificate; Restart transport and retry the queues). 4. Verify the fix. 5. Prevent it next time. Toolbox: Event ID 12014, Get-SendConnector, Set-ReceiveConnector, Get-WinEvent, TlsCertificateName.1Symptoms2Why it happens3How to fix it4Verify the fix5Prevent it nexttime1Put connectorsand certificat…2Enable theright certifica…3RepointTlsCertificate…4Change anFQDN only on…5Replace anexpired or del…6Restarttransport and…TOOLBOXEvent ID 12014Get-SendConnectorSet-ReceiveConnectorGet-WinEventTlsCertificateNameHow this guide is organised: Symptoms → Why it happens → How to fix it → Verify the fix → Prevent it next timeFlow diagram of the article's sections in reading order: 1. Symptoms. 2. Why it happens. 3. How to fix it (6 steps: Put connectors and certificates side by side; Enable the right certificate for SMTP on every server; Repoint TlsCertificateName at the new certificate; Change an FQDN only on connectors you created; Replace an expired or deleted self-signed certificate; Restart transport and retry the queues). 4. Verify the fix. 5. Prevent it next time. Toolbox: Event ID 12014, Get-SendConnector, Set-ReceiveConnector, Get-WinEvent, TlsCertificateName.1Symptoms2Why it happens3How to fix it1Put connectors and certificates side by side2Enable the right certificate for SMTP on everyserver3Repoint TlsCertificateName at the newcertificate4Change an FQDN only on connectors youcreated5Replace an expired or deleted self-signedcertificate6Restart transport and retry the queues4Verify the fix5Prevent it next timeTOOLBOXEvent ID 12014Get-SendConnectorSet-ReceiveConnectorGet-WinEventTlsCertificateName
At a glance: how this guide is organised · 6 fix steps · 5 key tools

Symptoms#

The Application log repeats this error. The source is MSExchangeFrontEndTransport or MSExchangeTransport, depending on which service owns the connector:

Text
Log Name:      Application
Source:        MSExchangeFrontEndTransport
Event ID:      12014
Task Category: TransportService
Level:         Error
Description:   Microsoft Exchange could not find a certificate that contains the domain name mail.contoso.com in the personal store on the local computer. Therefore, it is unable to support the STARTTLS SMTP verb for the connector Default Frontend EX01 with a FQDN parameter of mail.contoso.com. If the connector's FQDN is not specified, the computer's FQDN is used. Verify the connector configuration and the installed certificates to make sure that there is a certificate with a domain name for that FQDN. If this certificate exists, run Enable-ExchangeCertificate -Services SMTP to make sure that the Microsoft Exchange Transport service has access to the certificate key.

Related signs:

  • The EHLO response on port 25 has no 250-STARTTLS line.
  • Mail from Exchange Online (hybrid) or TLS-enforcing partners queues on their side.
  • Outbound queues sit in Retry with 454 4.7.5 The certificate specified in TlsCertificateName of the SendConnector could not be found.
  • The send protocol log shows TLS negotiation failed with error UnknownCredentials (a certificate named on the connector isn't enabled for SMTP).

Tip: Read the "domain name" in the event. A plain host name points at the connector's FQDN. A value shaped like <I>CN=Issuing CA...<S>CN=mail.contoso.com means the connector has a TlsCertificateName that matches no installed certificate.

Why it happens#

Before a connector can use STARTTLS, the transport service must pick a certificate for it. Simplified:

  • If the connector has a TlsCertificateName (format <I>issuer<S>subject), Exchange wants exactly that issuer and subject.
  • Otherwise it wants a certificate whose subject or SAN list contains the connector's Fqdn, or the server's FQDN when that value is empty.
  • The match must be in the Local Computer Personal store, trusted, in date, and have a private key the transport service can read; enabling it for SMTP grants that access.

Typical triggers:

  • A renewed certificate replaced the old one, but TlsCertificateName on the Default Frontend or "Outbound to Office 365" connector still describes the old one. A new CA intermediate changes the issuer string even on a like-for-like renewal.
  • The new certificate isn't enabled for SMTP, or exists on only one server.
  • It was imported without its private key, or the intermediate is missing, so Status isn't Valid.
  • The self-signed "Microsoft Exchange" certificate, used by the built-in connectors, expired or was deleted.
  • A connector's FQDN was changed to a name no certificate covers.

How to fix it#

1. Put connectors and certificates side by side#

Take the connector name and server from the event, then compare:

PowerShell
Get-ReceiveConnector -Server EX01 | Format-Table Name, TransportRole, Fqdn, TlsCertificateName -AutoSize
Get-SendConnector | Format-Table Name, Fqdn, TlsCertificateName, RequireTLS -AutoSize
Get-ExchangeCertificate -Server EX01 | Format-List FriendlyName, Thumbprint, Subject, Issuer, CertificateDomains, NotAfter, Services, Status, HasPrivateKey

Good looks like: the expected certificate lists the name in CertificateDomains, with Status : Valid, HasPrivateKey : True, a future NotAfter and SMTP in Services. Any TlsCertificateName matches its issuer and subject character for character.

2. Enable the right certificate for SMTP on every server#

PowerShell
Enable-ExchangeCertificate -Server EX01 -Thumbprint <NewThumbprint> -Services SMTP

When asked whether to overwrite the existing default SMTP certificate, answer No: that keeps the self-signed certificate for internal transport, and Microsoft warns that overwriting it can break EdgeSync. Repeat on every server that logs the event; where the certificate is missing, export it with its private key from another server and import it first.

3. Repoint TlsCertificateName at the new certificate#

PowerShell
$cert = Get-ExchangeCertificate -Server EX01 -Thumbprint <NewThumbprint>
$tlsName = "<I>$($cert.Issuer)<S>$($cert.Subject)"
Set-ReceiveConnector "EX01\Default Frontend EX01" -TlsCertificateName $tlsName
Set-SendConnector "Outbound to Office 365" -TlsCertificateName $tlsName   # use your connector's exact name

In hybrid, Microsoft's alternative is to clear the receive connector value (-TlsCertificateName $null) and re-run the Hybrid Configuration Wizard with the new certificate so it rewrites the hybrid connector settings. See renewing the hybrid certificate without breaking mail flow.

4. Change an FQDN only on connectors you created#

For a partner-facing or custom connector whose FQDN isn't on any certificate, bind one with TlsCertificateName or set the FQDN to a covered name: Set-ReceiveConnector "EX01\Partner TLS" -Fqdn mail.contoso.com.

Watch out: Don't change the FQDN on the built-in Default EX01 connector in the Transport service. Microsoft warns that with several Mailbox servers this breaks internal mail flow between them. For that connector, fix the certificate instead.

5. Replace an expired or deleted self-signed certificate#

If the event names the server's own FQDN (for example ex01.contoso.local) on Default EX01 or Client Proxy EX01, replace a missing or expired self-signed certificate:

PowerShell
Get-ExchangeCertificate -Server EX01 | Where-Object { $_.IsSelfSigned } | Format-List FriendlyName, Thumbprint, CertificateDomains, NotAfter, Services
New-ExchangeCertificate -Server EX01 -FriendlyName "Microsoft Exchange" -DomainName ex01.contoso.local, ex01 -Services SMTP

This time accept the overwrite prompt: the old default is the broken one. With Edge Transport, re-create the Edge Subscription afterwards.

6. Restart transport and retry the queues#

PowerShell
Restart-Service MSExchangeFrontEndTransport, MSExchangeTransport
Get-Queue -Server EX01 | Where-Object { $_.LastError -like "*TlsCertificateName*" } |
  ForEach-Object { Retry-Queue -Identity $_.Identity }

The restart briefly interrupts SMTP, so pick a quiet moment.

Verify the fix#

  1. No new events: Get-WinEvent -FilterHashtable @{LogName='Application'; Id=12014; StartTime=(Get-Date).AddHours(-1)} returns "No events were found that match the specified selection criteria."
  2. openssl s_client -connect mail.contoso.com:25 -starttls smtp shows the new certificate's subject and issuer.
  3. Get-Queue -Server EX01 shows no TLS-related LastError and falling message counts.
  4. The connector's SMTP protocol log records a successful TLS negotiation.
  5. In hybrid, test both directions and confirm in Exchange Online message trace.

Prevent it next time#

  • Before deleting a certificate, list connectors that reference one: Get-ReceiveConnector | Where-Object { $_.TlsCertificateName } | Format-Table Identity, TlsCertificateName (and the same for Get-SendConnector).
  • Renew in order: install on every server with the private key, enable SMTP (answer No), update TlsCertificateName or re-run the HCW, test, then remove the old certificate. See also renewing the SAN and Auth certificates and hybrid mail flow connectors and TLS.
  • Check expiry monthly with Get-ExchangeCertificate | Where-Object { $_.NotAfter -lt (Get-Date).AddDays(45) } and run the Health Checker.

References#

Written and checked against current Microsoft Learn documentation. Test changes with a pilot group before rolling them out to everyone, and if an admin center path has moved since, search for the setting name instead.

Spotted a mistake, or did this fix work differently for you? Email me or message me on LinkedIn — corrections are credited in the article.

Written by

Omer Eltayeb

Intune Subject Matter Expert in Cairo, Egypt, former Microsoft Cloud Solutions Architect, Microsoft Certified Trainer and Microsoft Innovative Educator Expert (2024–26) and Microsoft Elevate Educator Expert (2026–27). I share practical, step-by-step guides, study plans, scripts and toolkits for Microsoft Intune, Configuration Manager, Microsoft Entra ID, Microsoft Defender, Exchange and Microsoft 365 with the community.

Microsoft Certified Trainer (MCT) 2026Microsoft Innovative Educator Expert 2025–2026Microsoft Elevate Educator Expert 2026–2027ISC2 Certified Information Systems Security Professional (CISSP)Microsoft 365 Certified: Enterprise Administrator Expert (MS-102)