![](/img/trans.png)
[英]Why does "send-mailmessage" work in Powershell Console but not in PowerShell ISE?
[英]Send-MailMessage on PowerShell does not work
我有一個大問題。 對於學校俱樂部,我必須編寫一個自動發送電子郵件的腳本。 我決定為此使用 PowerShell。
我的代碼:
Send-MailMessage –To "email@outlook.com" –Subject "Test E-Mail" –Body "FIRST EMAIL WITH POWERSHELL" –SmtpServer "smtp.gmail.com" –From "email@gmail.com"
我的錯誤代碼:
Send-MailMessage:SMTP 服務器需要安全連接或客戶端尚未通過身份驗證。 服務器響應為:5.7.0 必須首先發出 STARTTLS 命令。 o3sm51888528wrs.30 - gsmtp In line: 1 character: 1 + Send-MailMessage -To "email@outlook.com" 主題 "Test E-Mail" -Bod ... + ~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo: InvalidOperation: (System.Net .Mail.SmtpClient: SmtpClient) [Send-MailMessage], SmtpException +fullyQualifiedErrorId: SmtpException, Microsoft.PowerShell.Commands.SendMailMessage
如果我寫
–SmtpServer "gsmtp.gmail.com"
錯誤代碼是:
Send-MailMessage : 無法建立到遠程服務器的連接。 In line:1 character:1 + Send-MailMessage -To "email@outlook.com"; - 主題“測試電子郵件”; - 博德。 . . + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : InvalidOperation: (System.Net.Mail.SmtpClient:SmtpClient) [Send-MailMessage], SmtpException +fullyQualifiedErrorId : SmtpException,Microsoft. 電源外殼。 命令。 發送郵件消息
你知道是什么問題嗎?
首先,您需要在 Google 帳戶設置中啟用“安全性較低的應用”。 為此,請單擊以下鏈接,然后將“允許安全性較低的應用程序”設置設置為“開” 。
完成此操作后,您可以使用Send-MailMessage
發送消息。 這是一個工作示例。
$MyEmail = "email@gmail.com"
$creds = get-credential -Message 'Enter your email credentials' -Username $MyEmail
$ServerParams = @{
SmtpServer = "smtp.gmail.com"
From = $MyEmail
Port = 587
UseSsl = $true
Credential = $creds
}
$MessageParams = @{
'To' = "email@outlook.com"
'Subject' = "Test E-Mail"
'Body' = "FIRST EMAIL WITH POWERSHELL"
}
Send-MailMessage @ServerParams @MessageParams
獎勵:為了更好的可讀性和可重用性,您可以設置參數
(參考: 關於噴濺)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.