Не удается подключиться к серверу с помощью send-MailMessage в Powershell - PullRequest
0 голосов
/ 12 февраля 2020

Я пытался создать электронное письмо, которое будет отправлено из учетной записи Gmail при запуске файла PoweShell. Однако я не могу подключиться к серверу при использовании метода send-MailMessage. У меня есть следующий код:

$from = "blondedavid@gmail.com"
$to = "blondedavid@gmail.com"
$subject = "The subject of your email"
$body = "This is just a test mail to verify the working of CMD"
$attachment = "C:\Users\37.csv"
$smtp = "smtp.gmail.com"
$SMTPClient = New-Object Net.Mail.SmtpClient($SmtpServer, 587)
$SMTPClient.EnableSsl = $true
$SMTPClient.Credentials = New-Object System.Net.NetworkCredential("blondedavid@gmail.com", "xxx");

send-MailMessage -SmtpServer $smtp -Credential $SMTPClient -To $to -From $from -Subject $subject -Body $body -Attachment $attachment -Priority high 

Любая помощь будет принята с благодарностью.

1 Ответ

0 голосов
/ 12 февраля 2020

Вы вызываете командлет Send-MailMessage с неверным параметром учетных данных. Из справки командной строки он принимает pscredential.

SYNTAX
Send-MailMessage [-To] <string[]> [-Subject] <string> [[-Body] <string>] [[-SmtpServer] <string>] -From <string> [-Attachments <string[]>] [-Bcc <string[]>] [-BodyAsHtml] [-Encoding <Encoding>] [-Cc <string[]>] [-DeliveryNotificationOpt
ion {None | OnSuccess | OnFailure | Delay | Never}] [-Priority {Normal | Low | High}] [-ReplyTo <string[]>] [-Credential <pscredential>] [-UseSsl] [-Port <int>] [<CommonParameters>]

. Вы передаете $SMTPClient, равный Net.Mail.SmtpClient

. Просто создайте объект Pscredential и передайте его -Credential. Также полностью удалите $SMTPClient.

...