如何使用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
廣告