2014-10-30 31 views
0

發送電子郵件回覆我使用PowerShell腳本使用發送電子郵件:使用PowerShell

$smtpClient = New-Object System.Net.Mail.SmtpClient 
$smtpClient.Host = 'smtp.gmail.com' 
$smtpClient.Port = 587 
$smtpClient.EnableSsl = $true 
$smtpClient.Credentials = [Net.NetworkCredential](Get-Credential GmailUserID) 
$smtpClient.Send($emailMsg) 

其中$ emailMsg是設置爲:

$emailMsg = New-Object System.Net.Mail.MailMessage 
$emailMsg.From = $YourEmail 
$emailMsg.To.Add($RecipientEmail) 
$emailMsg.Subject = $Subject 
$emailMsg.Body = $body 
$emailMsg.Attachments.Add("$PSScriptRoot\$AttachmentFile") 

我真正需要的是能夠做到發送了一封后續電子郵件,它將回復此初始郵件,是否有通過PowerShell執行此操作的方法?

+0

你能解釋一下這個好一點嗎?從哪裏回覆? – arco444 2014-10-30 15:00:51

+0

@ arco444對不起,遲到的回覆在其他工作中遇到了麻煩。基本上,我想發送多封電子郵件以提供有關操作進度的信息,我希望隨後的電子郵件(從相同地址發送)顯示爲對發送的初始電子郵件的回覆。但我不確定這是否可能。我試着簡單地使用「Re:$ Subject」作爲主題,但是使用gmail它並沒有作爲回覆。 – 2014-11-04 18:21:41

+0

有關gmail消息線程的一些信息:http://webapps.stackexchange.com/questions/965/how-does-gmail-decide-to-thread-email-messages – 2015-05-07 22:52:56

回答

0

您需要爲您的SMTP郵件添加一個In-Reply-To標頭。標題的值應該與您希望回覆的消息的Message-ID標題的值相同。

$emailMsg.Headers.Add("In-Reply-To", "<[email protected]>") 

更多信息請登錄Cognitive Buffet