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

Geschrieben

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
 

Geschrieben

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

 

Geschrieben

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

 

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

Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde dich hier an.

Jetzt anmelden
×
×
  • Neu erstellen...