Jump to content

email mehrere Empfänger powershell usw


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

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
 

Link zu diesem Kommentar

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

 

Link zu diesem Kommentar

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, ...."

 

Link zu diesem Kommentar

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 von BOfH_666
Link zu diesem Kommentar
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...