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