Categories
IIS Scripts Server Windows

IIS SMTP – Zustellung von “Badmails” erneut versuchen (Script)

Bekommt der IIS SMTP-Dienst seine Mails nicht los, verschiebt er sie in den sogenannten “Badmail”-Ordner und unternimmt keine Zustellversuche mehr.

Damit eine erneute Zustellung versucht wird, müssen folgende Schritte erledigt werden:

  1. Stoppen des SMTP-Dienstes
  2. Aufrufen des “Badmail”-Ordners
  3. Löschen der *.bdr- und *.bdp-Dateien
  4. Entfernen der .BAD-Dateiendung von den übrigen Dateien
  5. Verschieben der Dateien in den “Pickup”-Ordner
  6. Starten des SMTP-Dienstes

Man kann es allerdings auch mit einem PowerShell-Script erledigen. Möglicherweise muss man den Pfad von $mailRootFolder noch anpassen:

$mailRootFolder = "C:\inetpub\mailroot"

Stop-Service "SMTPSVC"

$badMails = Get-ChildItem -Path "$($mailRootFolder)/Badmail"

foreach ($badMail in $badMails) {
	if ($badMail.Name.ToLower().EndsWith(".bdr") -or $badMail.Name.ToLower().EndsWith(".bdp")){
		Remove-Item -Path $badMail.FullName -Confirm:$false
	}
	else {
		Move-Item -Path $badMail.FullName -Destination "$($mailRootFolder)/Pickup"
		Rename-Item -Path "$($mailRootFolder)/Pickup/$($badMail.Name)" -NewName $badMail.Name.Split('.')[0]
	}
}

Start-Service "SMTPSVC"
Categories
Exchange

SMTP Tarpitting – Sinn und Unsinn

Was ist das?

SMTP Tarpitting ist ein pro Empfangskonnektor setzbarer Parameter. Dieser sorgt dafür, dass beim Versand über den jeweiligen Konnektor an eine dem Exchange nicht unmittelbar bekannte Adresse (sprich extern oder nicht vergebene Aliase) eine definierte Verzögerung eintritt.

Macht das Sinn?

Ja und nein. Es macht Sinn für meistens genau einen Konnektor, nämlich den, der Mails von extern empfängt. Wenn man nun versucht, den Exchange-Server mit Spam zu überschütten, wird die ein oder andere falsche Adresse dabei sein, was immer zu einer Verzögerung führt. Vielen Spammern wird das dann letztendlich zu blöd, da sie diese Zeit sinnvoller nützen können.
Keinen Sinn macht es jedoch für interne Relays, die meist zügig die Mails nach außen schieben sollen. Hier wird so manche externe Adresse dabei sein, die diese Verzögerung bewirkt. Viele einfach programmierte SMTP-Konnektoren werden bis die Response kommt sogar komplett freezen. Daher macht dies intern wirklich keinerlei Sinn.

Konfigurieren der Konnektoren

Standardmäßig sind 5sek. pro Konnektor gesetzt. Um beim erstgenannten Empfangskonnektor für Mails aus dem www die Zeit sogar noch zu erhöhen, kann folgender Befehl ausgeführt werden: 

Set-ReceiveConnector “FromInternet” -tarpitinterval 00:00:10

Um z.B. für interne Relays die Tarpitting komlett abzuschalten, ist stattdessen dieser Befehl hier nötig: 
Set-ReceiveConnector “Internal” -tarpitinterval 00:00:00