【问题标题】:Sending attachment with MailKit in PowerShell doesn't attach在 PowerShell 中使用 MailKit 发送附件不会附加
【发布时间】:2021-01-03 21:37:41
【问题描述】:

我在 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

【问题讨论】:

    标签: powershell mailkit


    【解决方案1】:

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

    关于您的代码,请尝试在“$Builder.Attachments.Add....”之后添加它。

    $Message.Body = $Builder.ToMessageBody()
    

    【讨论】:

    • 我之前曾尝试过该行,但它是 before 而不是 after "$Builder.Attachments.Add...." 。非常感谢您的敏锐眼光并抓住了这一点!
    猜你喜欢
    • 2017-05-15
    • 2018-01-15
    • 1970-01-01
    • 2017-11-19
    • 1970-01-01
    • 2021-10-24
    • 2014-08-18
    • 2020-11-20
    • 2016-07-13
    相关资源
    最近更新 更多