saschabs 0 Geschrieben 5. Dezember 2019 Melden Teilen Geschrieben 5. Dezember 2019 Hallo, ich versuche per poweshell script eine email zeitgesteuert (WIndows Aufgabenplanung) an mehrere Empfänger zu versenden. Mein Script sieht bisher so aus : function sendmail($body) { $filename = "C:\Users\userb\Desktop\bild.jpg" $SmtpClient = new-object system.net.mail.smtpClient $MailMessage = New-Object system.net.mail.mailmessage $att = new-object Net.Mail.Attachment($filename) $SmtpClient.Host = "smtpserver" $mailmessage.from = "absender@domian.de" $mailmessage.To.add("empfänger@domain.de") $mailmessage.Subject = “test1450” $MailMessage.IsBodyHtml = $true $mailmessage.Body = $body $mailmessage.Attachments.Add($att) $smtpclient.Send($mailmessage) } $body = "Test text" sendmail $body Mehrer empfänger würde ich in einem array definieren und dann ansprechen, nur fehlt mir der richtige syntax hierfür. Weiterhin versuche ich eine email signatur in die email einzubauen, als absender wie üblich : Mit freundlichen Grüßen usw..... Plus, wie kann ich in dem Text, im body einen Zeilenumbruch bewerkstelligen ? Das angehangen Bild unter $filename = war nur der versuch eine Grafik in die email mit einzubauen, wird aber nur als anhang mit versendet. Bin für jeden Hilfe sehr dankbar. MFG Stefan Zitieren Link zu diesem Kommentar
BOfH_666 577 Geschrieben 5. Dezember 2019 Melden Teilen Geschrieben 5. Dezember 2019 Gibt es einen bestimmten Grund, warum Du nicht einfach Send-MailMessage benutzt? Zitieren Link zu diesem Kommentar
daabm 1.354 Geschrieben 5. Dezember 2019 Melden Teilen Geschrieben 5. Dezember 2019 Wenn ich "system.net.mail.mailmessage.to.add" bei Google eintippe, dann schlägt mir der Autocomplete automatisch noch "multiple" als Suchbegriff vor. Und dann lande ich hier: https://stackoverflow.com/questions/2404577/net-system-mail-message-adding-multiple-to-addresses/2404666 To.Add funktioniert zwar mit Strings, aber überschreibt anscheinend alle bestehenden Empfänger. Damit das nicht passiert, mußt Du entweder alle Empfänger in einem String angeben ("rcp1@x.com,rcp2@x.com,rcp3@x.com") oder vorher MailRecipient-Objekte dazu erstellen Zitieren Link zu diesem Kommentar
saschabs 0 Geschrieben 6. Dezember 2019 Autor Melden Teilen Geschrieben 6. Dezember 2019 Hallo, danke für die Hinweise, ich denke die einfachere Methode ist dann doch mit send.mailessage / mail Wie füge ich hier alle Empfänger in eine line ? Ohne mit -cc arbeiten zu müssen ? Einfach mit einem weiteren -to ? zb. -to user2@domain.de, -to user3@domain.de, -to user4.....usw ? Wenn ich wie im code angegeben jedesmal ein neue Line setze funktionierts ja, aber das wird doch recht unübersichtlich bei einer gewissen Menge an Empfängern. Besteht auch hier die Möglichkeit auf eine csv zu zugreifen in der die Empfänger stehen ? Danke und eine schönen Nicolaus ;) @echo off C:\mail\mail.exe -smtp smtpserver -from user1@domain.de -to user2@domain.de -s "Erinnerung" -b "Hallo liebe Kolleginnen und Kollegen, ...." C:\mail\mail.exe -smtp smtpserver -from user1@domain.de -to user3@domain.de -s "Erinnerung" -b "Hallo liebe Kolleginnen und Kollegen, ...." Zitieren Link zu diesem Kommentar
BOfH_666 577 Geschrieben 6. Dezember 2019 Melden Teilen Geschrieben 6. Dezember 2019 (bearbeitet) Hmmm ... also ich bin unschlüssig, ob und wie ich Dir antworten kann, weil ich nicht weiß, worauf sich Deine Antwort bezieht und was Du genau meinst. Zitat danke für die Hinweise, ich denke die einfachere Methode ist dann doch mit send.mailessage / mail Meinst Du Send-MailMessage? Wenn "ja", kann ich Dir nur zustimmen. Zitat Wie füge ich hier alle Empfänger in eine line ? Ich gehe jetzt im Weiteren einfach mal davon aus, dass Du Send-MailMessage meintest ... Du kannst mehrere Empfänger einfach als Komma-separierte Liste übergeben, so wie das in Beispiel 2 der Online-Hilfe zu sehen ist. Zitat ... aber das wird doch recht unübersichtlich bei einer gewissen Menge an Empfängern. Send-MailMessage ist nicht für Massenmailings gemacht. Wenn Du Mails an hunderte Empfänger gleichzeitig schicken möchtest, gibt es vermutlich geeignetere Tools. Um wieviele Empfänger geht es denn? Um Deinen Code übersichtlicher zu gestallten, gibt es zahlreiche Möglichkeiten der Formatierung. Eine davon ist z.B. Splatting. Zitat Besteht auch hier die Möglichkeit auf eine csv zu zugreifen in der die Empfänger stehen ? Klar ... mit Import-Csv kannst Du die Daten einlesen und dann nach Belieben weiterverarbeiten. Der Code-Schnipsel, den Du gepostest hast ... hast Du dazu ne Frage? ... oder wofür ist der da? bearbeitet 6. Dezember 2019 von BOfH_666 Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.