如何使用PowerShell傳送電子郵件?


使用PowerShell傳送電子郵件有多種方法,但有一個簡單的命令叫做**SendMailMessage**。此命令是名為**Microsoft.PowerShell.Utility**的模組的一部分。

要使用特定的SMTP伺服器傳送電子郵件,我們需要新增SMTP伺服器引數。

Send-MailMessage `
   -From 'User1@TestDomain.com' `
   -To 'User2@TestDomain.com' `
   -Subject 'Test Email' `
   -SmtpServer 'Smtp.TestDomain.com'

在上面的示例中,電子郵件將從**-From**引數指定的傳送者傳送給**-To**引數指定的收件人,主題名稱為**“測試郵件”**,並使用指定的SMTP伺服器名稱。

如果您有多個使用者,可以使用逗號分隔它們,還可以新增抄送 (CC) 和密送 (BCC) 收件人。例如:

Send-MailMessage `
   -From 'User1@TestDomain.com' `
   -To 'User2@TestDomain.com','User3@TestDomain.com' `
   -Cc 'Manager1@Testdomain.com' `
   -Bcc 'Manager2@testdomain.com'
   -Subject 'Test Email' `
   -Attachments 'C:\Temp\Confidential.pdf'
   -SmtpServer 'Smtp.TestDomain.com'

在上面的示例中,附件將從**C:\temp**位置儲存。

如果您的SMTP伺服器需要在特定埠上建立SSL連線,您也可以指定它,例如:

Send-MailMessage `
   -From 'User1@TestDomain.com' `
   -To 'User2@TestDomain.com','User3@TestDomain.com' `
   -Subject 'Test Email' `
   -SmtpServer 'Smtp.TestDomain.com' `
   -UseSsl -Port 587 -Priority High

我們在這裡使用587埠上的SSL連線以及高優先順序電子郵件。您還可以將優先順序設定為普通(預設)或低。

如果您的伺服器使用不同的SMTP憑據,您也可以提供憑據引數,還可以設定延遲、成功、失敗或從不傳送的郵件送達通知。預設值為無。

$creds = Get-Credential
Send-MailMessage `
   -From 'User1@TestDomain.com' `
   -To 'User2@TestDomain.com','User3@TestDomain.com' `
   -Subject 'Test Email' `
   -SmtpServer 'Smtp.TestDomain.com' `
   -UseSsl -Port 587 -Priority High `
   -Credential $creds `
   -DeliveryNotificationOption OnSuccess

更新於:2021年1月4日

3K+ 次瀏覽

啟動您的職業生涯

完成課程獲得認證

開始學習
廣告