Windows - Mail von CMD oder Powershell?
Hallo Kollegen,
insbesondere diejenigen, die unter MS scripten:
Mailt ihr über die Windows-Kommandozeile?
Wenn ja, wie? Wenn nein, warum nicht?
Unter Linux lasse ich mich von Diensten bei Bedarf gern auch per Mail informieren. Das Ergebnis vom Backup, der Start oder Stop eines Dienstes, Ausfälle, SMART-Prüfungen, Eindringversuche, was auch immer.
Logging ist was feines, Monitoring ebenso, in manchen Fällen ist eine Mail aber (eigentlich) der einfachste Weg, auch zur Information für den Kunden.
Unter Linux gibt es diverse Lösungen dafür, die zügig eingerichtet sind und zuverlässig funktionieren.
Unter Windows gibt es
1. Send-MailMessage (PowerShell, überholt und unzuverlässig)
2. https://github.com/jstedfast/MailKit (von MS als Nachfolger empfohlen, Open Source setzt VS-Installation voraus)
3. Die hier gelisteten Tools: https://whatsoftware.com/sending-email-using-command-line-useful-for-dow ... (teils recht betagt und/oder Closed Source)
Noch mehr?
Was davon setzt Ihr ein und warum?
Viele Grüße, commodity
insbesondere diejenigen, die unter MS scripten:
Mailt ihr über die Windows-Kommandozeile?
Wenn ja, wie? Wenn nein, warum nicht?
Unter Linux lasse ich mich von Diensten bei Bedarf gern auch per Mail informieren. Das Ergebnis vom Backup, der Start oder Stop eines Dienstes, Ausfälle, SMART-Prüfungen, Eindringversuche, was auch immer.
Logging ist was feines, Monitoring ebenso, in manchen Fällen ist eine Mail aber (eigentlich) der einfachste Weg, auch zur Information für den Kunden.
Unter Linux gibt es diverse Lösungen dafür, die zügig eingerichtet sind und zuverlässig funktionieren.
Unter Windows gibt es
1. Send-MailMessage (PowerShell, überholt und unzuverlässig)
2. https://github.com/jstedfast/MailKit (von MS als Nachfolger empfohlen, Open Source setzt VS-Installation voraus)
3. Die hier gelisteten Tools: https://whatsoftware.com/sending-email-using-command-line-useful-for-dow ... (teils recht betagt und/oder Closed Source)
Noch mehr?
Was davon setzt Ihr ein und warum?
Viele Grüße, commodity
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 32210887812
Url: https://administrator.de/forum/windows-mail-von-cmd-oder-powershell-32210887812.html
Ausgedruckt am: 22.12.2024 um 03:12 Uhr
18 Kommentare
Neuester Kommentar
Den uralt-Klassiker: Blat Mail
https://www.msxfaq.de/tools/3rdparty/blat.htm
https://www.msxfaq.de/tools/3rdparty/blat.htm
Warum nicht? Nur weil das Compiledatum neuer ist ist die Software ja nicht besser?!
/Thomas
Zitat von @commodity:
Habe mal gelernt, dass Software gepflegt werden sollte
Ein Mailtool ist jetzt vielleicht nicht so security-Relevant, aber wenn was nicht gepflegt wird, kann es beim nächsten Update ausfallen und ich schaue in die Röhre.
Wüsste auch nicht so recht, was Kunde und/oder Versicherung sagen, wenn das Tool nun doch unsicher war
Viele Grüße, commodity
Warum nicht?
Dein Ernst?Habe mal gelernt, dass Software gepflegt werden sollte
Ein Mailtool ist jetzt vielleicht nicht so security-Relevant, aber wenn was nicht gepflegt wird, kann es beim nächsten Update ausfallen und ich schaue in die Röhre.
Wüsste auch nicht so recht, was Kunde und/oder Versicherung sagen, wenn das Tool nun doch unsicher war
Viele Grüße, commodity
Die neueste Version ist 2 Jahre alt, wenn dir danach ist kannst du es auch aus dem Sourcecode selbst kompilieren. Den kannst du natürlich auch auditieren wenn es dir wichtig ist.
https://sourceforge.net/projects/blat/files/
/Thomas
Zitat von @commodity:
2. https://github.com/jstedfast/MailKit (von MS als Nachfolger empfohlen, Open Source setzt VS-Installation voraus)
Nein braucht kein VS, läuft auch portable, ohne Installation !2. https://github.com/jstedfast/MailKit (von MS als Nachfolger empfohlen, Open Source setzt VS-Installation voraus)
Brauchst nur das Assembly und die Dependency DLLs runterladen und nacheinander mit Add-Type in die Session laden
https://www.nuget.org/packages/MailKit#dependencies-body-tab
Gruß pp.
Zitat von @commodity:
2. http://www.blat.net/ spricht von Versionsstand 2014. Wenn auf SourceForge ein neueres Datum angezeigt ist, was sagt das? Neu hochgeladen oder Code geändert? Oder gar anderer Entwickler?
2. http://www.blat.net/ spricht von Versionsstand 2014. Wenn auf SourceForge ein neueres Datum angezeigt ist, was sagt das? Neu hochgeladen oder Code geändert? Oder gar anderer Entwickler?
Da die von dir genannte Website auf die Sourceforge Seite verlinkt beunruhigt mich das jetzt eher nicht.
But you do you. 🤷♂️
/Thomas
Ja, habe mich dazu aus diesem Thread bedient
Powershell: S-MIME verschlüsselte und signierte E-Mail inkl. sicherem Anhang verschicken (Mailkit-Bibliothek)
Powershell: S-MIME verschlüsselte und signierte E-Mail inkl. sicherem Anhang verschicken (Mailkit-Bibliothek)
Moin,
Gruß,
Dani
Was davon setzt Ihr ein und warum?
keines der drei Möglichkeiten. Wir haben mit New-Object System.Net.Mail.SmtpClient und New-Object System.Net.Mail.MailMessage eine Funktion geschrieben. Um so auf jede Anforderung und Rahmenbedingung reagieren zu können (Auth Ja/Nein, Port 587/465, TLS JA/Nein, StartTLS Ja/Nein, Anhänge Ja/Nein, etc.).Gruß,
Dani
Zitat von @Dani:
Moin,
Der SMTP Client kann aber genauso wie Send-Mailmessage (der darauf basiert) kein SSL ohne STARTTLS somit kein plain SSL auf Port 465.Moin,
Was davon setzt Ihr ein und warum?
keines der drei Möglichkeiten. Wir haben mit New-Object System.Net.Mail.SmtpClient und New-Object System.Net.Mail.MailMessage eine Funktion geschrieben. Um so auf jede Anforderung und Rahmenbedingung reagieren zu können (Auth Ja/Nein, Port 587/465, TLS JA/Nein, StartTLS Ja/Nein, Anhänge Ja/Nein, etc.).https://learn.microsoft.com/de-de/dotnet/api/system.net.mail.smtpclient. ...
Die SmtpClient -Klasse unterstützt nur die SMTP-Diensterweiterung für Secure SMTP over Transport Layer Security, wie in RFC 3207 definiert. In diesem Modus beginnt die SMTP-Sitzung in einem unverschlüsselten Kanal, dann wird vom Client ein STARTTLS-Befehl an den Server ausgegeben, um zur sicheren Kommunikation mithilfe von SSL zu wechseln. Weitere Informationen finden Sie unter RFC 3207, veröffentlicht von der Internet Engineering Task Force (IETF).
Bei einer alternativen Verbindungsmethode wird vorab eine SSL-Sitzung eingerichtet, bevor Protokollbefehle gesendet werden. Diese Verbindungsmethode wird manchmal als SMTP/SSL, SMTP über SSL oder SMTPS bezeichnet und verwendet standardmäßig Port 465. Diese alternative Verbindungsmethode mit SSL wird derzeit nicht unterstützt.
Wenn die EnableSsl -Eigenschaft auf true festgelegt ist und der SMTP-E-Mail-Server in der Antwort auf den EHLO-Befehl nicht STARTTLS angibt, löst ein Aufruf der Send -Methode oder SendAsync eine SmtpException aus.
Bei einer alternativen Verbindungsmethode wird vorab eine SSL-Sitzung eingerichtet, bevor Protokollbefehle gesendet werden. Diese Verbindungsmethode wird manchmal als SMTP/SSL, SMTP über SSL oder SMTPS bezeichnet und verwendet standardmäßig Port 465. Diese alternative Verbindungsmethode mit SSL wird derzeit nicht unterstützt.
Wenn die EnableSsl -Eigenschaft auf true festgelegt ist und der SMTP-E-Mail-Server in der Antwort auf den EHLO-Befehl nicht STARTTLS angibt, löst ein Aufruf der Send -Methode oder SendAsync eine SmtpException aus.
Moin @commodity,
Gruß,
Dani
Wenn das OpenSource ist, könntest Du es ja vielleicht im Forum mal darstellen?
das ist leider nicht mehr möglich. Das letzte Mal als ich ein Skript meines AG hier eingestellt habe, haben wir es in einem kostenpflichtigen Fremdprodukt wieder gefunden, ohne Info, Kennzeichnung o.ä.Gruß,
Dani
Wie schon geschrieben Send-MailMessage basiert auf der selben Technik des NET Framework und nutzt auch die Klasse System.Net.Mail.SmtpClient. Beide haben die gleichen Einschränkungen wie oben beschrieben.
Wenn du also keine weiteren Anforderungen hast kannst du auch bei Send-Mailmessage bleiben sofern du in deinen Anwendungen kein SMTP via SSL sondern nur STARTTLS für verschlüsselte Verbindungen nutzt.
Brauchst du mehr wie etwa SSL ohne STARTTLS, OAuth-Authentifizierung, SMIME Signing & Encryption Support&Co. würde ich auf Mailkit umsteigen.
Zum Thema STARTTLS aber unbedingt lesenwert:
Gruß pp.
🐣
Wenn du also keine weiteren Anforderungen hast kannst du auch bei Send-Mailmessage bleiben sofern du in deinen Anwendungen kein SMTP via SSL sondern nur STARTTLS für verschlüsselte Verbindungen nutzt.
Brauchst du mehr wie etwa SSL ohne STARTTLS, OAuth-Authentifizierung, SMIME Signing & Encryption Support&Co. würde ich auf Mailkit umsteigen.
Zum Thema STARTTLS aber unbedingt lesenwert:
- Sicherheitsrisiko STARTTLS
- Why TLS is better without STARTTLS A Security Analysis of STARTTLS in the Email Context
Gruß pp.
🐣
@commodity
Gruß,
Dani
Loslassen ist doch das Kennzeichen von OpenSource face-smile Natürlich so nicht schön, aber kein Grund, nicht zu teilen. Wenn man jede gute Tat daran misst, dass sie schon mal von anderen missbraucht wurde, würde es wohl keine guten Tagen mehr geben.
Alles gut rund recht. Schlussendlich ist das Sache meines AG und ggf. deshalb eine Abmahnung zu erhalten, ist es mir nicht Wert. Natürlich ist es schade, aber jedes Verhalten hat eben auch Konsequenzen. Was leider einige Leute erst lernen, wenn es weh tut.Gruß,
Dani