====== SMTP ======
===== Installation (unattended) =====
Create file (ex: smtpinstall.txt) with this content:
[Components]
iis_smtp=on
iis_smtp_docs=On
Start the installation with the unattended file:
sysocmgr /i:%windir%\inf\sysoc.inf /u:smtpinstall.txt /c /q
===== Move mail folder to D:\ =====
Change folder with adsutil.vbs:
cd c:\Inetpub\AdminScripts
adsutil.vbs set smtpsvc/1/DropDirectory "D:\Inetpub\mailroot\Drop"
adsutil.vbs set smtpsvc/1/BadMailDirectory "D:\Inetpub\mailroot\Badmail"
adsutil.vbs set smtpsvc/1/PickupDirectory "D:\Inetpub\mailroot\Pickup"
adsutil.vbs set smtpsvc/1/QueueDirectory "D:\Inetpub\mailroot\Queue"
Restart SMTP-Service:
net stop smtpsvc
net stop smtpsvc
Move Adminscripts:
move "c:\Inetpub\Adminscripts" "d:\Inetpub\Adminscripts"
Delete Inetpub on c:\:
rmdir /s /q c:\Inetpub
===== MetaBase export =====
iiscnfg /export /f MetaBaseExport.xml /sp /lm/smtpsvc/1
===== MetaBase import =====
iiscnfg /import /f MetaBaseExport.xml /sp /lm/smtpsvc/1 /dp /lm/smtpsvc/1
===== Change Relay Restrictions to localhost =====
Quelle: //Website doesn't exist anymore//
'########################################################################################
'# Skript stellt die Zugriffsrechte des SMTP Server so ein, dass EMails mit der neuen
'#.NET 2.0 Klasse System.Net.Mail ueber den virtuellen IIS SMTP Server verschickt werden
'# koennen
'########################################################################################
' SMTP Server Objekt besorgen
Dim IIsSmtpSvrObj
Set IIsSmtpSvrObj = GetObject("IIS://localhost/SMTPSVC/1")
' IP Eintrag fuer die White List
NewIP = "127.0.0.1,255.255.255.0"
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' RelayIpList Zugriffsrechte des SMTP Servers konfigurieren
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Dim MyRelayIpList
Dim RelayIpList
' IP Security Eintraege laden
Set MyRelayIpList = IIsSmtpSvrObj.RelayIpList
' White List Eintrag vornehmen, wenn nicht bereits vorhanden
MyRelayIpList.GrantByDefault = False
RelayIpList = MyRelayIpList.IPGrant
RelayIPAdd = "YES"
Redim Preserve RelayIpList (Ubound(RelayIpList)+1)
' Nachschauen, ob Eintrag schon besteht, da doppelter Eintrag zum Fehler fuehrt
For i = 0 to UBound(RelayIpList)
If RelayIpList(i) = Replace(NewIP,",",", ") Then
RelayIPAdd = "NO"
' MsgBox("IP Restriction already set")
End If
Next
If RelayIPAdd = "YES" Then
RelayIpList (Ubound(RelayIpList)) = NewIP
' Neue IP Liste einhaengen und uebergeben
MyRelayIpList.IPGrant = RelayIpList
IIsSmtpSvrObj.RelayIpList = MyRelayIpList
End If
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' IPSecurity Zugriffsrechte des SMTP Servers konfigurieren
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Dim MyIPSec
Dim IPList
' IP Security Eintraege laden
Set MyIPSec = IIsSmtpSvrObj.IPSecurity
' White List Eintrag vornehmen, wenn nicht bereits vorhanden
MyIPSec.GrantByDefault = False
IPList = MyIPSec.IPGrant
IPSecAdd = "YES"
Redim Preserve IPList (Ubound(IPList)+1)
' Nachschauen, ob Eintrag schon besteht, da doppelter Eintrag zum Fehler fuehrt
For i = 0 to UBound(IPList)
If IPList(i) = Replace(NewIP,",",", ") Then
IPSecAdd = "NO"
' MsgBox("IP Restriction already set")
End If
Next
If IPSecAdd = "YES" Then
IPList (Ubound(IPList)) = NewIP
' Neue IP Liste einhaengen und uebergeben
MyIPSec.IPGrant = IPList
IIsSmtpSvrObj.IPSecurity = MyIPSec
End If
' Erst jetzt die Aenderungen in einem Rutsch am Server einstellen
If RelayIPAdd = "YES" or IPSecAdd = "YES" Then
IIsSmtpSvrObj.setInfo()
End If