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

Load PowerShell Assembly before using their Command

我正在尝试通过 Send-MailKitMessage 发送电子邮件,但是,因此我需要创建一个发件人列表和一个收件人列表作为 mailkit 类型。在调用命令之前如何创建这些类型?如果我不事先调用 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"

错误:

PS C:\Users\example> [MimeKit.InternetAddressList]::new()
InvalidOperation: Unable to find type [MimeKit.InternetAddressList].

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

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