@asdz

Почему не отправляется email из powershell?

Есть почта на google apps, скрипт:
param ($subject, $body)
$EmailFrom = "from@email.ru"
$EmailTo = "to@email.ru"
$SMTPServer = "smtp.gmail.com"
$SMTPClient = New-Object Net.Mail.SmtpClient($SmtpServer, 587)
$SMTPClient.EnableSsl = $true
$SMTPClient.Credentials=new-object Management.Automation.PSCredential “from@mail.ru”, (“1234567” | ConvertTo-SecureString -AsPlainText -Force)
$SMTPClient.Send($EmailFrom, $EmailTo, $subject, $body)

Ошибка:
Исключение при вызове "Send" с "4" аргументами: "Серверу SMTP требовалось защищенное соединение, или подлинность клиента не была установлена. Ответ сервера: 5.5.1 Authentication Required. "
  • Вопрос задан
  • 2035 просмотров
Пригласить эксперта
Ответы на вопрос 2
@TomosBlack
Решение. Поверил, работает.
$SMTPClient.Credentials = New-Object System.Net.NetworkCredential 'mymail@mail.ru', 'password'
Ответ написан
Комментировать
@Aniko
Все дело в двухфакторной авторизации на gmail. Где-то с середины 2014-го Google считает все приложения которые не используют двухфакторную авторизацию не безопасными.
Решение следующее:
1. Включить двухфакторную авторизацию
2. Добавить пароль для приложения в настройках на сайте google (16-значный)
3. Использовать сгенерированный пароль вместо обычного вашего пароля в приложении

Единственное, что незнаю, тк это изменится ли код в приложении для двухфакторной авторизации.
Надеюсь это кому-то будет актуально
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы