愚かなオタクのトリック:余分なソフトウェアなしでWindowsのコマンドラインから電子メールを送信する方法

Windowsでは、コマンドプロンプトからネイティブにメールを送信する方法はありませんが、PowerShellではunderlying.Net Frameworkを使用できるため、コマンドラインから簡単に電子メールを作成して送信することができます。

注:多くのリクエストのためにここにサンプルをアップロードしました。

注:この記事では、GmailのSMTPサーバーを使用することに決めました。つまり、提供されたコードを使用してメールを送信するにはGmailアカウントが必要です。しかし、あなたは簡単に私のスクリプトをハックして、どんなSMTPサーバーでも動作させることができます。

まず、PowerShellを起動します。

PowerShellから電子メールを送信するのはかなり簡単です。提供したテンプレートをコピーして詳細を変更するだけです。

$ EmailFrom = “yourgmailadress@gmail.com”

$ EmailTo = “destination@somedomain.com”

$件名= “あなたのメールの件名”

$ Body = “あなたの電子メールに何を伝えたいか”

$ SMTPServer = “smtp.gmail.com”

$ SMTPClient = New-Object Net.Mail.SmtpClient($ SmtpServer、587)

$ SMTPClient.EnableSsl = $ true

$ SMTPClient.Credentials = New-Object System.Net.NetworkCredential( “usr”、 “pass”)

$ SMTPClient.Send($ EmailFrom、$ EmailTo、$ Subject、$ Body)

あなたは次のものを変更する必要があります

以下は私にメールを送っている例です。

注:明らかな理由から、私はスクリーンショットからGmailの資格情報を削除しました。

それはすべてそれにある。

Send-MailMessageを試すこともできますが、これはもう少し簡単です。

@Chris Send-MailMessageはGMailでは動作しません。

私はスクリプトで電子メールを送信する方法を探していました。これは参考になります。

添付ファイルを含めるのはどれほど難しいでしょうか?the.Netコマンドには慣れていません…

私はこのコメントに “Windowsではネイティブにコマンドプロンプトからメールを送信する方法はありません”と尋ねます。コマンドとSMTPサーバーの詳細を知っているかのように、Telnet経由でこれを行うことができます。それをするために

スクリーンショットを更新すると、あなたのGmail認証情報は最後の2つのスクリーンショットに表示されます。良い記事。

賢い私はBlatと呼ばれるユーティリティ(無料)を好むと思う。

正確にBV

まず、コマンドウィンドウにテンプレートをコピーして貼り付け、コマンドウィンドウで自分のユーザー名を編集することができませんでした。

2番目のことは、メモ帳で編集を試みましたが、テンプレートをコピーしてウィンドウに貼り付けることができませんでした。

最後に、私は失敗に終わった。

だから、テイラーさんはこれを手伝ってくれますか?

Windows 7の使用。

ありがとう; Pranesh

ポート587の使用は、Gmailが望むTLS暗号化を意味します。また、ポート465でSSL暗号化を使用することもできます。何らかの暗号化を使用するのはデフォルトの.NETですか?ポートは使用される暗号化のタイプを意味し、ポート25の使用は暗号化を暗示しませんか?すべての電子メールサーバーが暗号化をサポートするわけではありません。

Hotmailでこれを行う方法は?

どのようにあなたのディレクトリを削除し、コードを記述しましたか?私はこれに新しいので、私が得ることができるすべての助けが必要です。

Office 365 SMTPサーバーでこれが動作するかどうか確認したいと思います。私はそれを試してみるかもしれない。これはWindows 7上で実行する必要がありますか?MS Server製品で実行できますか?

ここではO365でそれを行う方法です..

$ emailSmtpServer = “SMTPSETTINGS.outlook.com”; $ emailSmtpServerPort = “587”; $ emailSmtpUser = “USER@domain.com”; $ emailSmtpPass = “YOURPASSWORD”; $ emailFrom = “コールスリック”; $ emailTo = “Thedog @ $ emailMessage.Subject = “電子メールのテスト”; $ emailMessage.IsBodyHtml = $ true; $ emailMessage.Body; $ emailMessage = New-Object System.Net.Mail.MailMessage($ emailFrom、$ emailTo); $ emailMessage.Subject = “電子メールのテスト” $ SMTPClient = New-Object System.Net.Mail.SmtpClient($ emailSmtpServer、$ emailSmtpServerPort); $ SMTPClient = New-Object System.Net.Mail.SmtpClient($ emailSmtpServer、$ emailSmtpServerPort);この形式のHTMLは、 ; $ SMTPClient.Send($ emailMessage); $ SMTPClient.Send($ emailMessage); $ SMTPClient.Send($ emailMessage); $ SMTPClient.Send($ emailSmtpPass); $ SMTPClient.Credentials =

素晴らしいトリック、ありがとうHTG ……

Exchangeへの認証がスマートカード認証によってのみ行われる場合、どのようにすればよいでしょうか?誰もユーザー名またはパスワードを取得しません。添付ファイルはどうですか?

このエラーが出ます

“4”引数で “Send”を呼び出す例外: “失敗送信メール”;行:1 char:17; + $ SMTPClient.Send <<<($ EmailFrom、$ EmailTo、$ Subject、$ Body ); + CategoryInfo:NotSpecified:(:) []、MethodInvocationException; + FullyQualifiedErrorId:DotNetMethodException Daveが上記のように、シンプルな「telnet smtp.yourserver.com 25」も同様に機能します。よりシンプルに見えます。 HELO yourserver.com; MAIL FROM:me@yourserver.com; RCPT TO:blah@yourserver.com データ こんにちは。 Willy + 1 ..同じエラーが発生しました "4"引数で "Send"を呼び出す例外: "失敗送信メール";行:1 char:17; + $ SMTPClient.Send <<<($ EmailFrom、$ EmailTo、$ Subject、$ Body ); + CategoryInfo:NotSpecified:(:) []、MethodInvocationException; + FullyQualifiedErrorId:DotNetMethodException ギキ: Linux、Mac、Windowsのコマンドプロンプトから実行できます。 telnetでメールを送信するだけのGoogle。 telnetを使用しているシェルは、電子メールを送信できます。 Powershellはこれには必要ありません。 ええと、PowerShellの「余分なソフトウェア」はありませんか?言ってるだけ'。 あなたはtelnetでメールを送ることができます。 BCCを使用するコマンドは何ですか? 上記のチュートリアルのメソッドは、 '$ pass'を必要としませんでした。私たちが偽のメーラーとして使用できることを意味します! すべてのオウム種のうち、オスのアフリカ系グレーオウムは、人間の言葉を学び、使用するのに最も熟練しています。