Send-MailMessage: невозможно прочитать данные из транспортного соединения: net_io_connectionclosed

Я использовал приведенный ниже сценарий PowerShell для отправки электронной почты с использованием данных учетной записи Azure SendGrid. При выполнении скрипта я получаю сообщение об ошибке Send-MailMessage : Unable to read data from the transport connection: net_io_connectionclosed

Скрипт PoweShell:

$Username  = "[email protected]"
$Password = ConvertTo-SecureString "xxxx" -AsPlainText -Force
$credential = New-Object System.Management.Automation.PSCredential $Username, $Password
$SMTPServer = "smtp.sendgrid.net"
$EmailFrom = "[email protected]"
$EmailTo = "[email protected]"
$Subject = "SendGrid test"
$Body = "SendGrid testing successful"

Send-MailMessage -smtpServer $SMTPServer -Credential $credential -Usessl -Port 587 -from $EmailFrom -to $EmailTo -subject $Subject -Body $Body

Итак, может ли кто-нибудь предложить мне, как решить эту проблему.

Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
В предыдущей статье мы завершили установку базы данных, для тех, кто не знает.
Как установить LAMP Stack 1/2 на Azure Linux VM
Как установить LAMP Stack 1/2 на Azure Linux VM
В дополнение к нашему предыдущему сообщению о намерении Azure прекратить поддержку Azure Database для MySQL в качестве единого сервера после 16...
1
0
22 841
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

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

  • Если вы можете связаться с портом SMTP (587) на сервере. Вы можете использовать Telnet для проверки связи SMTP. Обратитесь к этому.
  • Если вы ввели правильные параметры, такие как учетные данные.

Для получения дополнительной информации рекомендуется использовать API-ключи, предоставленные SendGrid, для отправки электронных писем вместо отправки паролей через скрипт.

Я пытаюсь запустить эту команду на mac os Test-NetConnection, чтобы узнать информацию о smtp.sendgrid.net соединении. Но я получаю ошибку Not able find the command Test-NetConnection

Pradeep 28.12.2020 17:18

Как проверить подключение smtp-сервера на ОС mac вместо использования Telnet?

Pradeep 28.12.2020 17:19

Попробуйте nc -vz (your router's IP address) (port) в терминале. Подробнее здесь

Nancy Xiong 29.12.2020 02:52

Есть ли альтернативный подход к отправке электронной почты с последними сведениями о развертывании ресурсов Azure?

Pradeep 29.12.2020 05:37

А вы пробовали метод из моей общей ссылки?

Nancy Xiong 29.12.2020 06:20

Спасибо @Nancy, он работает с отправкой ключа API сетки вместо имени пользователя и пароля.

Pradeep 30.12.2020 10:21

Нэнси, я могу отправить электронное письмо с ключом API сетки отправки, перейдя по этой ссылке . Но я хочу отправить письмо нескольким получателям. Итак, не могли бы вы предложить мне, как добавить несколько адресов электронной почты в раздел to.

Pradeep 12.01.2021 17:23

Попробуйте использовать "to" = @( @{ "email" = "[email protected]" "name" = "Принимающая сторона" }, @{ "email" = "[email protected]" "name" = " Принимающая сторона" } )?

Nancy Xiong 13.01.2021 08:59

Да, это работает. Но я ищу формат массива для передачи списка адресов электронной почты.

Pradeep 13.01.2021 16:27

Я исправил эту ошибку (в среде, отличной от Azure), изменив протокол безопасности на TLS 1.2:

[System.Net.ServicePointManager]::SecurityProtocol = [System.Net.SecurityProtocolType]::Tls12;

Подробности: Powershell настраивает протокол безопасности на Tls 1.2

Связано: SmtpException: невозможно прочитать данные из транспортного соединения: net_io_connectionclosed

Работал на меня. Спасибо, что сэкономили часы разочарования 😂

bneelon 27.06.2022 18:59

Другие вопросы по теме