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-Key: 282604

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

Printed on: April 24, 2024 at 01:04 o'clock

Member: beidermachtvongreyscull
Solution beidermachtvongreyscull Sep 11, 2015, updated at Sep 14, 2015 at 13:34:22 (UTC)
Goto Top
Member: zerkkk
Solution zerkkk Sep 11, 2015, updated at Sep 14, 2015 at 13:34:24 (UTC)
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
Member: beidermachtvongreyscull
beidermachtvongreyscull Sep 11, 2015 at 08:45:30 (UTC)
Goto Top
Einfach und low tech. face-smile
Gefällt mir, Dein Script.

Danke.
Member: hannsgmaulwurf
hannsgmaulwurf Sep 11, 2015 at 08:53:55 (UTC)
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
Member: hannsgmaulwurf
hannsgmaulwurf Sep 11, 2015 at 08:55:20 (UTC)
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
Mitglied: 114757
Solution 114757 Sep 11, 2015, updated at Sep 14, 2015 at 13:34:30 (UTC)
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
Member: hannsgmaulwurf
hannsgmaulwurf Sep 11, 2015 at 17:42:34 (UTC)
Goto Top
Vielen Dank auch dir jodel32!! Werde das nächste Woche alles mal testen und berichten. Schönes WE!! face-smile
Member: hannsgmaulwurf
hannsgmaulwurf Sep 14, 2015 at 13:34:12 (UTC)
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
Mitglied: 114757
Solution 114757 Sep 14, 2015 updated at 14:04:25 (UTC)
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
Member: hannsgmaulwurf
hannsgmaulwurf Sep 14, 2015 at 13:58:41 (UTC)
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