2017-10-13 16 views
0

以下のスクリプトでは、各同僚に別々のレポートがあるので、同僚に多くの別々の電子メールを送信できます。現在、各同僚は2つのファイルを取得しますが、将来の可能性はさらに高くなります。以下のコードは、CSVファイルリストを使用して電子メールをファイル名に一致させる複数の電子メールを送信します。Send-MailMessageを使用して複数のファイルをCSVインポートから追加する

質問: 複数のファイルを1つのメールに添付する方法を探しています。これが起こるように調整できるかどうか疑問に思っていますか?

$File = $FileFolder+$Email.Filename 

エクセルで作成されるCSVファイルでは、列Aのヘッダーは「電子メール」、列Bのヘッダーは「ファイル名」です。列Aには通常の電子メールアドレスのリストがあり、ファイル名はすべて以下のフォルダパスにあるすべての.PDFファイルです。

#Setup the location of the files to email 
$FileFolder = "C:\Update\Files\" 

#Logging File Location 
$LogFile = "C:\Update\emaillog.txt" 

#Import the csv file with filenames and email addresses 
$csvfile = "C:\Update\email.csv" 
$EmailList = IMPORT-CSV $csvfile 

#Import the email content into the body variable 
$Body = Get-Content "C:\Update\email.html" | out-string 

#Setup the email template variables 
$From = "email address removed" 
$Subject = "Update Email" 

# Step through each line in the csv file 
ForEach ($Email in $EmailList) { 
#Setup the two variables that change per email sent (To and File Attachment) 
$To = $Email.Email 
$File = $FileFolder+$Email.Filename 

    #Send the mail message 
Send-MailMessage -smtpServer outlook.iffo.com -from $From -to $To -subject $Subject -body $Body -attachment $File -BodyAsHTML 
$LogTime = Get-Date -Format u 
$LogMessage = $LogTime+" Emailed "+$Email.Email+" the file "+$File 
$LogMessage | Out-File $LogFile -Append 
#Wait for a second before moving on to the next one, trying not to overwhelm the exchange server 
    Start-Sleep -s 1 
+0

こんにちは、オーバフローを歓迎します。質問をして質問を更新する方法の詳細については、 の[ask]リンクを参照してください。 –

+0

ありがとうございます、私はこのサイトを初めて知っていると言えますが、以前に訪問したことがあります - 私はコーディングで非常に初心者です。編集が少し楽になることを願っています。 – John

答えて

0

私は

は感謝再び

、その後、アタッチメントループを更新し、(ファイル1、ファイル2)に、ファイルを変更することによってそれを解決して行くと基本的に学んで、他の実施例を読むことによってそれを解決し、以下のコード
#Setup the two variables that change per email sent (To and File Attachment) 
    $To = $Email.Email 
    $File1 = $FileFolder+$Email.Filename1 
    $File2 = $FileFolder+$Email.Filename2 

#Send the mail message 

    Send-MailMessage -smtpServer outlook.info.com -from $From -to $To -subject $Subject -body $Body -attachment $File1, $File2 -BodyAsHTML 
関連する問題