PowerShell プログラムの実行時に電子メールを送信するために使用する次のスクリプトがありますが、通常は非常にうまく機能します。
$msg = New-Object System.Net.Mail.MailMessage
$msg.From = $from
$msg.To.Add($to)
$msg.Subject = $subject
$msg.Body = $html
$msg.IsBodyHtml = $true
$smtp = New-Object System.Net.Mail.SmtpClient($server)
$smtp.Credentials = [System.Net.CredentialCache]::DefaultNetworkCredentials
try
{
$smtp.Send($msg)
Write-Host "Email sent to $to without error"
}
catch
{
$retryCount++
Write-Warning "Email failed to send. $_.Exception.Message"
}
問題は、セットアップしたばかりの VMWorkstation マシンでこのスクリプトを使用し始めてから、この時点で電子メールを送信できないことです。ここに私が得ているエラーがあります:
WARNING: Email failed to send. Exception calling "Send" with "1" argument(s): "The SMTP server requires a secure connection or the client was not authenticated. The server response was: 5.7.1 Client was not authent
icated".Exception.Message
以下を使用しているため、このエラーが発生していると思います。
$smtp.Credentials = [System.Net.CredentialCache]::DefaultNetworkCredentials
これは事実ですか?もしそうなら、VM から資格情報を取得する方法はありますか? ブリッジ ネットワークを使用しているため、その呼び出しでアクセスできなかった理由がわかりません。また、すべてのドメイン権限を企業ネットワークに変更しました。
どんな洞察も役に立ちます。