Khắc phục lỗi didnt found starttls in server response, try anyway khi kết nối STARTTLS đến Exchange Server

Ngày đăng: 2019-07-18 14:47:54 | Cập nhật: 2019-07-18 14:49:42

Khi cài đặt chứng thư số cho Exchange Server xong, vì nhiều lý do, có thể bạn sẽ xóa chứng thư số cũ đã hết hạn. Tuy nhiên, sau khi xóa, trong một số trường hợp bạn sẽ gặp lỗi không thể kết nối đến Exchange thông qua giao thức STARTTLS trên port 587.

Khi kết nối vào server bằng lệnh:

openssl s_client -connect mail.domain.com:587 -starttls smtp

thì gặp lỗi:

CONNECTED(00000003)
didn't found starttls in server response, try anyway...

Trong event log mục Application Error của CAS, bạn sẽ gặp lỗi sau:

Microsoft Exchange could not find a certificate that contains the domain name <I>CN=RapidSSL SHA256 CA, O=GeoTrust Inc., C=US<S>CN=*.%ourdomain%.com in the personal store on the local computer. Therefore, it is unable to support the STARTTLS SMTP verb for the connector Default Frontend OPL-EXCH01 with a FQDN parameter of <I>CN=RapidSSL SHA256 CA, O=GeoTrust Inc., C=US<S>CN=*.%ourdomain%.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.

Xử lý lỗi này như sau:

1. Mở Exchange Management Shell trên con CAS và chạy lệnh sau:

PS>Get-ExchangeCertificate

PS>Get-ReceiveConnector

Copy thumbprint của chứng thư số vừa cài đặt. Copy tên các receive connector đã cấu hình STARTTLS.

2. Chạy tiếp các lệnh sau:

PS>$cert = Get-ExchangeCertificate -Thumbprint %NewCertificateThumbprint%

PS>$tlscertificatename = "<i>$($cert.Issuer)<s>$($cert.Subject)"

PS> Set-ReceiveConnector "%ReceiveConnectorName%" -TlsCertificateName $tlscertificatename

Lưu ý:

* Thay %NewCertificateThumbprint% bằng thumbprint của chứng thư số mới

* Thay %ReceiveConnectorName% bằng tên receive connector

3. Restart lại Exchange Transport service

4. Restart lại IIS bằng lệnh:

iisreset