У меня есть скрипт, который работает на 100% без проблем для 2 устаревших пользователей в нашей среде Office365. Мы создали новую «учетную запись службы» для использования, и она не работает при использовании одного и того же сценария.PowerShell Send-MailMessage с Office 365
Выполнение некоторых исследований, я видел и рассмотрены следующие вопросы:
- Credential и пароль могут Войти в обоих outlook.office365.com и наш домен через RDP
- Я сбросить пароль на счета и повторно Syncd с Office365
- Я проверил, что мы используем UPN, а не только имя SMTP
- Я проверил настройки делегирования почтовых ящиков явным образом назвали UPN вместо предположения на NT AUTHORITY \ SELF умолчанию (скриншот li nked ниже)
- SSL включен в сценарии
- Мы подняли учетную запись на «администратор домена» для целей тестирования
- я вошел в Windows, используя учетную запись, а затем запускал скрипт, чтобы обеспечить не было странная проблема, такая как ISE, все еще использующая мои учетные данные
Как вы можете видеть с последними 2 пунктами, мы как бы захватываем соломинку в этот момент и можем серьезно использовать какую-то помощь! Кошмар для нас является то, что она работает с 2-мя другими счетами точно как есть (только с изменением имя пользователя, пароль, и от переменных)
Вот сценарий:
$username = "[email protected]"
$password = "PASSWORD" | convertto-securestring -AsPlainText -Force
$cred = new-object -typename System.Management.Automation.PSCredential -argumentlist $username, $password
$smtp = "smtp.office365.com"
$port = "587"
$from = "[email protected]"
$to = "[email protected]"
$subject = "This is my Subject Line"
$body = "<b>This is the body of my email.</br>With <font color=`"red`">OPTIONAL</font> HTML tags</b>"
Send-MailMessage -SmtpServer $smtp -Port $port -UseSsl -Credential $cred -From $from -To $to -Subject $subject -Body $body -BodyAsHtml -Verbose
И это выход используя -Verbose переключатель:
Send-MailMessage: сервер SMTP требует защищенного соединения или клиент не был идентифицирован. Ответ сервера: 5.7.57 SMTP; Клиент не был аутентифицирован для отправки анонимной почты во время MAIL FROM В строке: 12 символов: 1 + Send-MailMessage -SmtpServer $ smtp -Port $ port -UseSsl -Credential $ cred -From $ ... + ~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo: InvalidOperation: (System.Net.Mail.SmtpClient: SmtpClient) [Send-MailMessage], SmtpException + FullyQualifiedErrorId: SmtpException, Microsoft.PowerShell.Commands.SendMailMessage
Here is a screenshot of the account settings: