在使用他们的命令之前加载 PowerShell 程序集

问题描述

我正在尝试通过 pandoc --extract-media MyDocxFile.docx ./ 发送电子邮件,但是,因此我需要创建一个 from 和一个收件人列表作为 mailkit 类型。如何在调用命令之前创建这些类型?如果我没有事先调用 Send-MailKitMessage,它会抛出一个错误

Send-MailKitMessage

错误

$RecipientList = [MimeKit.InternetAddressList]::new()
$RecipientList.Add([MimeKit.MailBoxAddress]::new("me","me@example.com"))
Send-MailKitMessage -SMTPServer $SMTPServer -Port $SMTPPort `
  -Credential $SMTPCredential -UseSecureConnectionIfAvailable `
  -From [MimeKit.MailBoxAddress]::new("me","me@example.com") `
  -RecipientList $RecipientList `
  -Subject "Test" `
  -HTMLBody "Body"

解决方法

您需要先加载程序集,然后才能引用其中的任何类型。

加载程序集的最简单方法是加载引用该程序集的模块。您可以在引用类型之前使用 Import-Module Send-MailKitMessage,或者如果您正在调用脚本文件,则在脚本文件中的任何位置使用 #requires -Modules Send-MailKitMessage