【发布时间】:2019-07-15 08:32:43
【问题描述】:
我想在这封电子邮件中发送一个 CSV 文件。 我可以毫无问题地发送电子邮件,但我尝试了很多发送附件,但最后发送的电子邮件没有附件。
function sendmail($Body) {
$Smtp = New-Object System.Net.Mail.SmtpClient
$MailMessage = New-Object System.Net.Mail.MailMessage
$Smtp.Host = "smtp-server"
$MailMessage.From = "sender@example.com"
$MailMessage.To.Add("recipient@example.org")
$MailMessage.Subject = "Hello"
$MailMessage.Body = $Body
$smtp.Port = 25
$smtp.EnableSsl = $false
$Smtp.Send($MailMessage)
}
$Body = "12334"
sendmail $Body
电子邮件只需如下所示:
您好,所有信息都在文件Example.csv中
【问题讨论】:
-
当您实际上不是attaching 时,您希望如何发送带有附件的电子邮件?此外,PowerShell 从 v2 开始就带有
Send-MailMessagecmdlet,因此除非您因某种原因被 v1 卡住,否则不需要实现自己的邮件功能。 -
我知道这段代码中没有任何附件。但我问是否有人有想法如何做到这一点
-
也许我在评论中特别包含的文档链接可以提供一些线索?你怎么看?
-
@Ansgar Wiechers:制作邮件功能是有正当理由的。就我而言,我需要从内存中的可变数据而不是磁盘资产创建附件,因此我使用了 .Net 组件。据我所知,Send-MailMessage 无法做到这一点。
标签: powershell email smtp attachment