簡単に言えば、ディレクトリの内容をリストするPowershellスクリプトから電子メールを送信しようとしています。Powershell:電子メールのGet-Childitemをフォーマットする方法は?
これを行うには、テキストを変数に格納してから、この変数をSend-MailMessage
に挿入します。
私の問題はこれです。 I Out-String
にパイプオブジェクトを次のように改行を挿入しない場合:Get-Childitem
は、プロンプトで入力されたときに明らかに、出力がうまく改行でフォーマットされ
$mailbody += "<p>" + (get-childitem $path | select-object Name | Out-String -width 40) + "</P>"
変数に格納されている場合、しかし、その後、電子メールで送信します(HTML形式の電子メールで)、改行がないため、読みにくい長い文字列のファイル名になります。
どうすればよいですか?
それは改行がありますが、表示されていないことだろうか? HTMLでは、改行は空白として扱われます。 – theglauber
私はこれが理由だと思っていましたが、 '-BodyAsHtml'スイッチを削除して、電子メールがplantextで送信されたことを確認しましたが、空白だけの改行はありませんでした。 – hazymat
Outlookをメールクライアントとして使用していますか?その場合、「余分な改行をプレーンテキストメッセージから削除する」設定をオフにしない限り、Outlookによって改行が削除されている可能性があります。 – theglauber