Отправка почтовых уведомлений от Windows Server 2003 Powershell 2.0 до Office 365

Мой сценарий предназначен для всасывания ошибок в запланированных задачах, которые не завершаются правильно, и отправляет их в мой адрес электронной почты через Office365:

$reportHTML = Get-Content C:\windows\tasks\SchedLgU.Txt | Select-String -Pattern "an exit code of \(1\)" -context 2
$reportHTML = Out-String -InputObject $reportHTML

#TODO Add an if statement

$emailUsername = "myemail@somedomain.com"

#TODO: Change this to a file....
#$emailPassword = cat "C:\ps\emailCred.txt" | convertto-securestring
$emailPassword = ConvertTo-SecureString "somepassword" -AsPlainText -Force


$emailCred = new-object -typename System.Management.Automation.PSCredential($emailUsername, $emailPassword)



Send-MailMessage -To "myemail@somedomain.com"  -Body $reportHTML -Subject 'Job(s) Failed' -UseSsl -SmtpServer 'smtp.office365.com' -From 'myemail@somedomain.com' -Credential $emailCred

Но когда я выполняю его, я получаю следующее сообщение об ошибке:

Send-MailMessage : The SMTP server requires a secure connection or the client was not authenticated. The server respons
e was: 5.7.57 SMTP; Client was not authenticated to send anonymous mail during MAIL FROM
At C:\ps\FailedJobNotificiation.ps1:14 char:17
+ Send-MailMessage <<<<  -To "myemail@somedomain.com"  -Body $reportHTML -Subject 'Job(s) Failed' -UseSsl -SmtpServ
er 'smtp.office365.com' -From 'myemail@somedomain.com' -Credential $emailCred
    + CategoryInfo          : InvalidOperation: (System.Net.Mail.SmtpClient:SmtpClient) [Send-MailMessage], SmtpExcept
   ion
    + FullyQualifiedErrorId : SmtpException,Microsoft.PowerShell.Commands.SendMailMessage

Я не могу указать порт также, но мне кажется, что это может быть другой проблемой, так как я получаю ответ от сервера, есть ли некоторая причина, я не могу послать это электронное письмо? Я нашел некоторые вещи при установке реле SMTP, но я не управляю этим.

Если я использую домен, мы используем для почты вместо этого (somedomain.com), я получаю другое ошибочное сообщение об аутентификации:

Send-MailMessage : The remote certificate is invalid according to the validation procedure.
At C:\ps\FailedJobNotificiation.ps1:16 char:17
+ Send-MailMessage <<<<  -To "myemail@somedomain.com"  -Body $reportHTML -Subject 'Lois Job(s) Failed' -UseSsl -SmtpServ
er 'mail.somedomain.com' -From 'myemail@somedomain.com' -Credential $emailCred
    + CategoryInfo          : InvalidOperation: (System.Net.Mail.SmtpClient:SmtpClient) [Send-MailMessage], Authentica
   tionException
    + FullyQualifiedErrorId : AuthenticationException,Microsoft.PowerShell.Commands.SendMailMessage

С Подробным я получаю это:

Send-MailMessage : The remote certificate is invalid according to the validation procedure.
At C:\ps\FailedJobNotificiation.ps1:17 char:17
+ Send-MailMessage <<<<  -Verbose -To "myemail@somedomain.com"  -Body $reportHTML -Subject 'Job(s) Failed' -UseSsl
-SmtpServer 'mail.somedomain.com' -From 'myemail@somedomain.com' -Credential $emailCred
    + CategoryInfo          : InvalidOperation: (System.Net.Mail.SmtpClient:SmtpClient) [Send-MailMessage], Authentica
   tionException
    + FullyQualifiedErrorId : AuthenticationException,Microsoft.PowerShell.Commands.SendMailMessage
3
задан 13 April 2017 в 15:14
1 ответ

Просмотрите исходное сообщение об ошибке, которое вы получили:

SMTP-серверу требуется безопасное соединение, или клиент не был аутентифицирован. Ответ сервера был: 5.7.57 SMTP; Клиент не прошел аутентификацию для отправки анонимной почты во время MAIL FROM

Первое предложение (требование безопасного соединения), вероятно, можно проигнорировать из-за того, что вы уже указали соответствие такому требованию, используя параметр переключателя -UseSSL

У нас осталось впечатление, что предоставленные вами учетные данные не прошли вашу аутентификацию.

В этом случае сервер SMTP обработает ваши identity как "ANONYMOUS", личность редко позволяет отправлять электронные письма, если отправляющий хост явно не включен в белый список. В этом свете ответное сообщение SMTP:

5.7.57 SMTP; Клиент не прошел аутентификацию для отправки анонимной почты во время MAIL FROM

, что внезапно становится более понятным.

Я предполагаю, что ваш SMTP-адрес (скрытый) не такой же, как ваше основное имя пользователя ( может быть (скрытым) или аналогичным), что приводит к сбою аутентификации

2
ответ дан 3 December 2019 в 07:00

Теги

Похожие вопросы