smtp邮件功能添加附件和抄送参数
Add Attachment and Cc Parameter to smtp Email function
我的 powershell 脚本当前处理从命令行向用户列表发送电子邮件。我想在电子邮件中添加附件以及抄送列表,这样所有电子邮件都不会通过 "To" 电子邮件参数发送。这是我当前的功能。
function SendEmail
{
$smtpServer = "smtp.server"
$smtpFrom = "PROD <email@gmail.com>"
$smtpTo = "me@gmail.com"
$messageSubject = "Weekly List "+$day
$messagebody = "Hi User, Please find attached document. Thank you."
$smtp = New-Object Net.Mail.SmtpClient($smtpServer)
$smtp.Send($smtpFrom,$smtpTo,$messageSubject,$messagebody)
}
我的尝试是添加一个名为 $attachment = "\PathtoFile" 的变量
并将 $attachment 添加到 Send 函数中,但这没有用...
将 Send-MailMessage
与 Attachments
和 Cc
参数一起使用:
Send-MailMessage -Attachments "C:\path\to\attachment.ext" -Cc "myboss@gmail.com"
您还可以指定编码(您提到了特殊字符):
Send-MailMessage -Encoding UTF8
一般来说,我会推荐 splatting 参数,所以它最终看起来像这样:
$MyAttachments = ".\a\relative\path.ext","C:\another\file.ext"
$MailParams = @{
SmtpServer = "smtp.server"
From = "PROD <email@gmail.com>"
To = "me@gmail.com"
Subject = "Weekly List "+$day
Body = "Hi User, Please find attached document. Thank you."
Attachments = $MyAttachments
Encoding = [System.Text.Encoding]::UTF8
}
Send-MailMessage @MailParams
我的 powershell 脚本当前处理从命令行向用户列表发送电子邮件。我想在电子邮件中添加附件以及抄送列表,这样所有电子邮件都不会通过 "To" 电子邮件参数发送。这是我当前的功能。
function SendEmail
{
$smtpServer = "smtp.server"
$smtpFrom = "PROD <email@gmail.com>"
$smtpTo = "me@gmail.com"
$messageSubject = "Weekly List "+$day
$messagebody = "Hi User, Please find attached document. Thank you."
$smtp = New-Object Net.Mail.SmtpClient($smtpServer)
$smtp.Send($smtpFrom,$smtpTo,$messageSubject,$messagebody)
}
我的尝试是添加一个名为 $attachment = "\PathtoFile" 的变量 并将 $attachment 添加到 Send 函数中,但这没有用...
将 Send-MailMessage
与 Attachments
和 Cc
参数一起使用:
Send-MailMessage -Attachments "C:\path\to\attachment.ext" -Cc "myboss@gmail.com"
您还可以指定编码(您提到了特殊字符):
Send-MailMessage -Encoding UTF8
一般来说,我会推荐 splatting 参数,所以它最终看起来像这样:
$MyAttachments = ".\a\relative\path.ext","C:\another\file.ext"
$MailParams = @{
SmtpServer = "smtp.server"
From = "PROD <email@gmail.com>"
To = "me@gmail.com"
Subject = "Weekly List "+$day
Body = "Hi User, Please find attached document. Thank you."
Attachments = $MyAttachments
Encoding = [System.Text.Encoding]::UTF8
}
Send-MailMessage @MailParams