Jump to content
saschabs

email mehrere Empfänger powershell usw

Recommended Posts

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
 

Share this post


Link to post
Share on other sites

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

 

Share this post


Link to post
Share on other sites

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

 

Share this post


Link to post
Share on other sites

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?

Edited by BOfH_666

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


Werbepartner:



×
×
  • Create New...