微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在PowerShell中使用MailKit发送附件不会附件

如何解决在PowerShell中使用MailKit发送附件不会附件

我在PowerShell中有一个简单的脚本,可以简单地SMTP PDF附件。没有主题,也没有身体。结果显示附件,但始终会收到没有附件的电子邮件。我想念什么吗?

$SMTP = [MailKit.Net.Smtp.SmtpClient]::new()
$Message = [MimeKit.MimeMessage]::new()
$Builder = [MimeKit.BodyBuilder]::new()

$Message.From.Add("myname@mydomain.com")
$Message.To.Add("yourname@yourdomain.com")
$Builder.Attachments.Add("C:\Users\myname\Path\MyPDF.pdf")

$SMTP.Connect('smtp.xxxx.com',465,'SecureSocketoptions.SslOnConnect')
$SMTP.Authenticate($MAILCREDENTIALS)

$SMTP.Send($Message)
$SMTP.disconnect($true)
$SMTP.dispose()

发送后的输出

ContentDuration         : 
ContentMd5              :
ContentTransferEncoding : Base64
FileName                : MyPDF.pdf
Content                 : MimeKit.MimeContent
ContentObject           : MimeKit.MimeContent
Headers                 : {Content-Type: application/pdf; name="MyPDF.pdf",Content-disposition: attachment; filename="MyPDF.pdf",Content-transfer-encoding: base64}  
Contentdisposition      : Content-disposition: attachment; filename="MyPDF.pdf"
ContentType             : Content-Type: application/pdf; name="MyPDF.pdf"
ContentBase             :
ContentLocation         :
ContentId               :
IsAttachment            : True

解决方法

我建议您在Github上查看此项目:https://github.com/EvotecIT/Mailozaurr
它建立在MimeKit和MailKit之上。

关于代码,请尝试将其添加到“ $ Builder.Attachments.Add ...”之后。

$Message.Body = $Builder.ToMessageBody()

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。