-
-
Notifications
You must be signed in to change notification settings - Fork 855
Description
I've had issues on the last couple of scheduled renewals where outbound email flow stopped from our Hybrid Exchange 2016 server used mainly to manage our Office 365 setup, but also configured as an internal SMTP relay to allowed scoped unauthenticated sending from muli-function printers as described in the Microsoft Support article. We have to use this method due to enforced MFA authentication on Office 365.
First I have checked for Win-ACME updates as I had 2.1.8.847 installed, but didn't see anything in the release notes for newer version to indicate this issue. I have subsequently updated my win-acme to latest 2.1.14.996.
I've started troubleshooting and confirmed that the certificate is correctly generated and imported by the ImportExchange.ps1 script and bound to IIS, SMTP and IMAP as recommended in your manual. I could not see any other -services options for the command that would update the required information.
I finally came across this article https://www.pei.com/exchange-mailflow-send-connector/ which descibes exactly the issue that I'm seeing with the Send Connector configured to allow relaying emails from our internal infrastructure to mailboxes in Office 365 using the certificate for TLS.
Another article indicates that MSExchangeTransport service also needs to to be restarted and similar checks and changes are needed on the default receive connector.
Would it be possible (or even desirable) for win-acme to check the Exchange Send and Receive Connectors matching the FQDN of the certificate and update them, or should this be considered as a separate task for admins to create a scheduled task to update this?
I think the poweshell code in your script should be able to identify any send connectors using
$SendConnector = Get-SendConnector | where {$Certifcate.subject -like 'CN='+$_.fqdn}
if the returned value is not null then it can be updated using code adapted from the article I linked
$TLSCertificate = (‘<I>’+$Certificate.issuer+'<S>’+$Certificate.subject) Set-SendConnector -Identity $SendConnector.Identity -TLSCertificateName $TLSCertificate
I shall see if I can find time to do some modification of a copy of the ImportExchange script and further testing, as all looks to be possible with an amended or additional powershell script.
I'd welcome your thoughts.