Jump to content

Email unzustellbar nach Postfachmigration auf neuen Server


Direkt zur Lösung Gelöst von Hirnilein0815,
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

vor 43 Minuten schrieb Hirnilein0815:

Es war mein selbst entwickelter Spamfilter.

Dann mal schnell weiter entwickeln. Interne Mails zwischen Exchangeservern sind immer authentifiziert und sollte deswegen auch whitelisted werden. ;) Alternativ einfach ein Produkt nehmen, das sowas alles kann, anstatt das Rad neu erfinden zu müssen. :)

Link zu diesem Kommentar

Naja, den Spamchecker habe ich schon vor 12 Jahren entwickelt. Damals gab es kaum Produkte, die Greylisting beherrschten (machen wir inzwischen nicht mehr), die halbwegs bedienbar waren und die alles sauber mitprotokollieren. Wir haben immer noch ein Feature, Auto-Whitelisting, auf das ich nicht verzichten möchte. Alle von uns angeschriebenen Empfänger werden automatisch auf eine interne Whitelist gesetzt, so dass deren Antworten garantiert wieder bei uns ankommen.

Link zu diesem Kommentar

Ich führe nochmals genauer aus, was das Problem mit dem Spamfilter war. Meine obige Erklärung war etwas ungenau:


 

        public void OnRcptCommandHandler(ReceiveCommandEventSource source, RcptCommandEventArgs rcptArgs)
        {
            try
            {
                // Beide Parameter müssen gültig sein
                if (source == null || rcptArgs == null)
                {
                    CTrace.TraceWarning("SpaminusSmtpAgent.OnRcptCommandHandler(): " + Resources.IDS_SKIPPING_ALL_TESTS);
                    return;
                }

                // Nur Emails, die von aussen kommen, werden geprüft
                if (rcptArgs.SmtpSession.IsExternalConnection)
                {
                    MailObject mailObject = new MailObject(m_spamCheckerSettings.SmtpServerName, MailObject.eOperation.eSmtpReceive, rcptArgs);

                    HandleRcptCommand(mailObject);

                    if (mailObject.RejectCommand.HasValue)
                    {
                        source.RejectCommand(mailObject.RejectCommand.Value);
                    }
                }
                else // Interne bzw. ausgehende Verbindung
                {
                    if (m_spamCheckerSettings.EnableAutoWhitelist)
                    {
                        MailObject mailObject = new MailObject(m_spamCheckerSettings.SmtpServerName, MailObject.eOperation.eAutoWhitelist, rcptArgs);
                        SpamChecker.AutoWhitelist(mailObject, m_spamCheckerSettings);
                    }
                }
            }
            catch (Exception exception)
            {
                CTrace.TraceException(exception);
            }
        }

 

Die entscheidende Stelle ist

   if (rcptArgs.SmtpSession.IsExternalConnection)

 

Diese Bedingung war nach der Servermigration immer true, wodurch der Spamfilter auch bei ausgehenden Emails aktiv wurde und die Recipient Validation die Mail blockierte, weil der vermeintlich interne Empfänger in Wirklichkeit ein externer Empfänger war und deshalb logischerweise im Active Directory nicht gefunden wurde.

 

Das Property SmtpSession.IsExternalConnection wird von Exchange beim Aufruf des Agents aufgrund der TransportConfig-Einstellung -InternalSMTPServers gesetzt. Mit Get-TransportConfig | Format-List InternalSMTPServers findet man heraus, welche Server dort eingetragen sind. In meinem Fall hat die IP-Adresse des neuen Servers gefehlt. Mit

 

Set-TransportConfig -InternalSMTPServers 192.168.xxx.xxx

 

konnte ich das Problem lösen. Der neue Mailserver wird nun korrekt als interner Server ausgewiesen und der Spamfilter greift wie erwartet nur noch bei eingehenden Emails.

Link zu diesem Kommentar
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...