Я получаю сообщение об ошибке «Типы аргументов не совпадают» при попытке отправить электронное письмо с использованием MailKit / MimeKit версии 2.5.1, когда я нахожусь на рабочем сервере, использующем PowerShell 4.0, но работающем на компьютере разработчика с помощью PowerShell 5.1
Системная информация для компьютеров производства и разработки приведена ниже: ![enter image description here](https://i.stack.imgur.com/WW0Tj.png)
Я получаю сообщение об ошибке при работе в try / catch после попытки запуска $ MkSmtp. Отправить ($ Сообщение):
![enter image description here](https://i.stack.imgur.com/Hbik5.png)
Код, который я имею, выглядит следующим образом:
#Load the .NET Core class dll for Mailkit based on .NET 4.5
add-type -path "c:\Windows\System32\WindowsPowerShell\v1.0\Modules\EmailUtilities\MailKit.dll"
add-type -path "c:\Windows\System32\WindowsPowerShell\v1.0\Modules\EmailUtilities\MimeKit.dll"
#Server and Mailbox properties for less secure access when connecting to google
$MkSmtp = New-Object MailKit.Net.smtp.SmtpClient
$CanToken = New-Object System.Threading.CancellationToken ($false)
$SSL = [MailKit.Security.SecureSocketOptions]::SslOnConnect
$MkSmtp.Connect($MailServer, $Port, $SSL, $CanToken)
$MkSmtp.Authenticate(([System.Text.Encoding]::UTF8), $Username, $Password, $CanToken)
#have the building of the message in a separate function which also worked
#on development PowerShell 5.1 but not on production PowerShell 4 but rebuilt message
#here until I figure it out
#--------------
$Message = New-Object MimeKit.MimeMessage
$Message.From.Add($global:EmailFrom)
$Message.To.Add($global:EmailTo)
$Message.Subject = "Test";
$TextPart = New-Object MimeKit.TextPart ("plain")
$TextPart.Text = "Testing message..."
$Message.Body = $TextPart
#$Options = New-Object MimeKit.Net.Smtp.FormatOptions.Default.Clone
#$Options.International = $true
#$Message = New-MimeMessage $global:EmailFrom $global:EmailTo $Subject $LogMsg
$MkSmtp.Send($Message)
$MkSmtp.Disconnect($true)
$MkSmtp.Dispose()
#--------------