2017-01-02 27 views
-2

私は、SMTP経由でpowershellを使用して電子メールを送信しようとしています。powershellを使用してSMTPサーバー経由で電子メールを送信できない

私はconfig.ps1ファイル

$smtpServer = "10.0.52.10" 
$emailFrom = "[email protected]" 
$emailTo = "[email protected]" 
$emailsubject = "Health Check" 
$emailbody = "Hi" 

これは、電子メールを送信するために私のスクリプトでこれらの変数を格納しています

################################################## 
#Send email with results 
################################################## 
. .\config.ps1 

foreach ($line in $bodystring) 
    { 
    $emailbody = $emailbody + $line + "`r`n" 
    } 


Send-MailMessage -To "$emailTo" -From "$emailFrom" -smtpServer "$smtpserver" -subject "$emailsubject" -body "$emailbody" 

私はこのエラーを取得する:

Send-MailMessage : Unable to connect to the remote server 
At C:\Users\administrator.SDC\Desktop\email.ps1:12 char:1 
+ Send-MailMessage -To "$emailTo" -From "$emailFrom" -smtpServer "$smtpserver" -su ... 
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    + CategoryInfo   : InvalidOperation: (System.Net.Mail.SmtpClient:SmtpClient) [Send-MailMessage], SmtpExcept 
    ion 
    + FullyQualifiedErrorId : SmtpException,Microsoft.PowerShell.Commands.SendMailMessage 

私の名前は何ですかイチケ?それを動作させるために何か他のものを含めるべきですか?

+2

こんにちは、ログインとパスワードは必要ありませんか? SMTPサーバーはこのコンピューターから到達可能ですか? – sodawillow

+0

yaaa .... u r right?しかし、どのようにどこで私はログインとパスワードを提供するのですか?/ – prudhvi

+1

[この質問を見る](http://stackoverflow.com/questions/12460950/how-to-pass-credentials-to-the-send-mailmessage-command例えば、電子メールの送信)。 – sodawillow

答えて

3

Gmailでは、私は以下のように運が増えました。現在私が話しているようにこれを使用していますが、うまくいきます。

$EmailTo = "[email protected]" 
$EmailFrom = "[email protected]" 
$Subject = "New Posting" 
$Body = $text 
$SMTPServer = "smtp.gmail.com" 
$SMTPMessage = New-Object System.Net.Mail.MailMessage($EmailFrom,$EmailTo,$Subject,$Body) 
$SMTPClient = New-Object Net.Mail.SmtpClient($SmtpServer, 587) 
$SMTPClient.EnableSsl = $true 
$SMTPClient.Credentials = New-Object System.Net.NetworkCredential("[email protected]", "PasswordHere"); 
$SMTPClient.Send($SMTPMessage) 

Gmailで使用するには、UserName、Password、SSL、およびPortがすべて存在する必要があります。私は間違っている可能性がある。また、Gmailがこれを可能にするように設定されていることを確認する必要があります。

EDIT:まだ設定していない場合は、セキュリティ設定でセキュリティの低いアプリをGmailに使用させてください。そうしないと、ブロックされる可能性があります。もっと見ることができ、ここで設定することができます。 https://myaccount.google.com/intro/security

+0

あなたのコードを使って、自分のGmailアカウントからメールを送ることができました。スクリプト全体にコード全体を置き、実行しました。しかし、私はconfig.ps1ファイルに何を書き込むべきか、スクリプトに何を書き込むか教えてください。資格証明はconfig.ps1ファイルでなければならず、残りは自分のスクリプト内になければなりません。 config.ps1でユーザー名とパスワードを使用すると、どうすればスクリプトにリンクできますか? – prudhvi

関連する問題