在 PowerShell 中使用 MailKit 发送附件不附加
Sending attachment with MailKit in PowerShell doesn't attach
我在 PowerShell 中有一个简单的脚本来简单地通过 SMTP 发送 PDF 附件。没有主题,也没有 body。结果显示附件,但收到的电子邮件总是没有附件。我错过了什么吗?
$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()
我在 PowerShell 中有一个简单的脚本来简单地通过 SMTP 发送 PDF 附件。没有主题,也没有 body。结果显示附件,但收到的电子邮件总是没有附件。我错过了什么吗?
$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()