Ich bin seit fast 1 Woche von diesem Problem verwirrt. Hoffentlich hat jemand in unserer Community das gleiche Problem erlebt und bereits eine Lösung gefunden.
Also hier ist mein Problem:
Gemäß unserer Unternehmensrichtlinie möchten wir, dass Datenbank-E-Mails E-Mails über Port 25 mit aktiviertem TLS 1.2 und deaktiviertem TLS 1.0 und TLS 1.1 senden können.
Unser Mailserver ist Exchange Server 2010, unsere SQL Server 2016-Boxen (Entwickler- und Enterprise-Editionen) verfügen über das Betriebssystem der Windows Server 2016-Standardeditionen.
Unsere SQL Server-Version lautet:
select @@version
----------------------------------------
Microsoft SQL Server 2016 (SP1-CU7-GDR) (KB4057119) - 13.0.4466.4 (X64)
Dec 22 2017 11:25:00
Copyright (c) Microsoft Corporation
Developer Edition (64-bit) on Windows Server 2016 Datacenter 10.0 <X64> (Build 14393: ) (Hypervisor)
Wir haben die DB-Mail-Konfiguration wie hier gezeigt.
Das Problem ist, wann immer wir SSL aktivieren
use msdb
exec dbo.sysmail_update_account_sp @account_id=2, @enable_ssl = 1;
Wir können keine Datenbank-E-Mails senden (unabhängig davon, ob es sich bei unserer SMTP-Authentifizierung um Windows-Authentifizierung, Standardauthentifizierung oder anonyme Authentifizierung handelt). Die Fehlermeldung im Datenbank-Mail-Protokoll lautet wie folgt:
Botschaft
Die E-Mail konnte aufgrund des Ausfalls des Mailservers nicht an die Empfänger gesendet werden. (Senden von E-Mails mit Konto 2 (2018-07-30T10: 52: 41). Ausnahmemeldung: E-Mails können nicht an den Mailserver gesendet werden. (Fehler beim Senden von E-Mails.)
Wenn wir dieses SSL deaktivieren, gibt es kein Problem für die versendete Datenbank-Mail.
Wie können wir also SSL aktivieren und TLS 1.2 für DB Mail verwenden?
Ich habe TLS 1.2 durch Hinzufügen der Registrierung wie unten gezeigt aktiviert
Die Details stammen von diesem Link (siehe FAQ)
Es ist seltsam, weil der verlinkte Artikel klar sagt:
Dies widerspricht der Antwort, die Sie vom MS-Support erhalten. Bearbeiten: Ich habe in dieser StackOverflow-Frage festgestellt , dass .NET 3.5, obwohl es zunächst keine Unterstützung für TLS 1.2 enthielt, später von MS hinzugefügt wurde:
Unterstützung für TLS-Systemstandardversionen, die in .NET Framework 3.5.1 unter Windows 7 SP1 und Server 2008 R2 SP1 enthalten sind
Beim Lesen des FAQ-Abschnitts besteht das Problem darin, dass Sie beim Aktivieren von TLS 1.2 einen Registrierungsschlüssel verpasst haben. Der FAQ-Bereich sagt:
Aber in dem von Ihnen bereitgestellten Screenshot, den ich nur sehe
"Enabled"=dword:00000001
,"DisabledByDefault"=dword:00000000
fehlt der Schlüssel.Es heißt auch:
Dies kann so interpretiert werden, dass Sie TLS 1.0 und 1.1 deaktivieren müssen, um 1.2 zu verwenden, aber ich bin mir nicht sicher.
quelle