hannsgmaulwurf
Goto Top

SSL-fähiger Mailversand per Kommandozeile

Hallo zusammen,

ich bin auf der Suche nach einem Tool, welches via Kommandozeile aufgerufen und mit diversen übergebenen Parametern (z.B. %Pfad_zu_einem_Logfile%) eine Mail versenden kann und SSL Verschlüsselung unterstützt.

Habt ihr Tipps und vor allem Erfahrungswerte für mich?

Als erstes bin ich auf Blat gestoßen, das kann sich aber nicht verschlüsselt am Mailserver (Office 365) anmelden, fällt also raus. Danach bin ich auf Swithmail gestoßen, was erstmal einen guten Eindruck macht. Bevor ich mich aber dafür entscheide wollte ich mal in die Runde fragen, was es sonst noch so gibt und vor allem womit ihr gute (oder auch schlechte) Erfahrungen gemacht habt bzw. was ihr (nicht) empfehlen könnt.

Lieben Dank und schöne Grüße

Content-ID: 282604

Url: https://administrator.de/contentid/282604

Ausgedruckt am: 04.11.2024 um 22:11 Uhr

beidermachtvongreyscull
Lösung beidermachtvongreyscull 11.09.2015, aktualisiert am 14.09.2015 um 15:34:22 Uhr
Goto Top
zerkkk
Lösung zerkkk 11.09.2015, aktualisiert am 14.09.2015 um 15:34:24 Uhr
Goto Top
Moinsen,

du könntest das auch mit einem Powershell-Skript lösen.

$SMTPServer = "smtp.1und1.de"  
$SMTPPort = "587"  
$EmailUser = "mustermann@1und1.de"   
$EmailFrom = "datensicherung@1und1.de"   
$Password = "dfgiFAOM"  
$EmailTo = "backup@1und1.de"  
$EmailSubject = "Datensicherung"  
$EmailBody = "Siehe Anhang"  

$file = "C:\backup\user1.zip"  
$att = new-object Net.Mail.Attachment($file)

$message = New-Object System.Net.Mail.MailMessage
$message.subject = $EmailSubject
$Message.IsBodyHTML = $True
$message.Body = $EmailBody
$message.to.add($Emailto)
$message.from = $EmailFrom
$message.Attachments.Add($att)
$smtp = New-Object Net.Mail.SmtpClient($SMTPServer, $SMTPPort);
$smtp.EnableSSL = $true
$smtp.Credentials = New-Object System.Net.NetworkCredential($EmailUser, $Password);
$smtp.send($message)



$EmailUser = Anmeldename
$EmailFrom = Absendername


Lg
beidermachtvongreyscull
beidermachtvongreyscull 11.09.2015 um 10:45:30 Uhr
Goto Top
Einfach und low tech. face-smile
Gefällt mir, Dein Script.

Danke.
hannsgmaulwurf
hannsgmaulwurf 11.09.2015 um 10:53:55 Uhr
Goto Top

Hallo und vielen Dank! SendSMTP hat eine wirklich sehr übersichtliche Website mit allen Befehlen usw. und man kann, wenn ich das richtig sehe, eine ini-Datei mit allen Einstellungen hinterlegen und muss diese nicht in die Befehlszeile übernehmen. Kommt in die engere Auswahl. face-smile
hannsgmaulwurf
hannsgmaulwurf 11.09.2015 um 10:55:20 Uhr
Goto Top
Zitat von @zerkkk:
Moinsen,
du könntest das auch mit einem Powershell-Skript lösen.
Hallo und vielen Dank!!! Boardmittel sind natürlich immer willkommen und gehören in der Auswahlliste ganz nach oben.. Damit werde ich direkt mal anfangen herumzuprobieren face-smile
114757
Lösung 114757 11.09.2015, aktualisiert am 14.09.2015 um 15:34:30 Uhr
Goto Top
Powershell Einzeiler:
Send-MailMessage -From 'user@domain.de' -to 'user2@domain.de' -Subject 'Hello' -Body 'Das ist der Body' -UseSSL -Smtpserver 'smtp.domain.de' -Port 465 -Credential (new-object PSCredential('username',(Convertto-SecureString 'Passw0rd' -AsPlaintext -Force))) -Attachments 'c:\datei.log'  

Gruß jodel32
hannsgmaulwurf
hannsgmaulwurf 11.09.2015 um 19:42:34 Uhr
Goto Top
Vielen Dank auch dir jodel32!! Werde das nächste Woche alles mal testen und berichten. Schönes WE!! face-smile
hannsgmaulwurf
hannsgmaulwurf 14.09.2015 um 15:34:12 Uhr
Goto Top
Hallo zusammen, wie versprochen nun meine Rückmeldung:

Das von beidermachtvongreyscull empfohlene Tool sendsmtp habe ich getestet, ist ganz nett und vor allem wegen der grafischen Oberfläche und der übersichtlichen Hilfe-Website zu empfehlen!!

Ich habe mich aber für die Boardmittel entschieden und das Skript von dir zerkkk genommen. Ich habe es noch um die Variablen $EmailCC = "Adresse" und $message.cc.add($EmailCC) ergänzt sowie folgenden Hinweis für alle Interessierten: Um das Skript ausführen zu können, muss auf dem Rechner bzw. für den User eventuell erst die Ausführung von Powershellskripten erlaubt werden, nähere Infos dazu [hier https://technet.microsoft.com/de-de/library/ee176961.aspx].

@jodel32: Nur interessehalber: Bei der Ausführung deiner Codezeile meldet die Powershell:

New-Object : Der Typ [PSCredential] kann nicht gefunden werden. Stellen Sie sicher, dass die Assembly, die diesen Typ enthält, geladen wird.

Ist es möglich, das vorher zu erledigen und in die einzelne Codezeile zu integrieren?

Vielen Dank für eure Hilfe und eine schöne Woche!! face-smile
114757
Lösung 114757 14.09.2015 aktualisiert um 16:04:25 Uhr
Goto Top
Klar geht das war nur eine Abkürzung
http://blogs.msdn.com/b/koteshb/archive/2010/02/13/powershell-creating- ...
Das wird aber nicht helfen, denn ich vermute mal das du noch eine veraltete Powershell nutzt, dort musst du statt PSCredential
System.Management.Automation.PSCredential schreiben
hannsgmaulwurf
hannsgmaulwurf 14.09.2015 um 15:58:41 Uhr
Goto Top
OK, danke für deine Antwort. Ich hab ja die Skript-Variante genommen aber falls jemand deinen Einzeiler bevorzugen sollte weiß er/sie jetzt ja Bescheid face-smile