iT邦幫忙

0

PowerShell 文件檔(.txt)輸出到Outlook後格式跑掉問題

Rax 2018-11-13 14:47:24847 瀏覽

目前想利用PowerShell自動發送信件給公司內部的人員,txt檔瀏覽格式正常,如下:
https://ithelp.ithome.com.tw/upload/images/20181113/20110851RGkpFAG2W2.png

但是輸出到Outlook後格式會跑掉,如下:
https://ithelp.ithome.com.tw/upload/images/20181113/20110851Vy9hvegX8Q.png

目前我是這樣去寫的

$Names= Get-ChildItem -path C:\Test\* | select-object -ExpandProperty Name 

foreach($name in $Names){
$output1=$Name.replace(".txt","")
$file=Get-Content -path C:\Test\"$output1".txt
$sender="MailText@aaa.com.tw"
$subject ="共用目錄每周定期清除檔案清單"
$a=
$server="IP"
$body = "您好:"+"`n"+"$file"
$to = "$output1"+'@aaa.com.tw'
$mail = New-Object System.Net.Mail.MailMessage
$msg=New-Object System.Net.Mail.MailMessage $sender,$to,$subject,$body
$client=New-Object System.Net.Mail.SmtpClient $server
$client.send($msg)
}

請問各位可以用甚麼方式去修正呢?

看更多先前的討論...收起先前的討論...
不要太相信用空格定位的東西。
文件檔的部份,還請善用「tab」定位格來盡量幫你。
但就算用「tab」定位的方式,還是會有長度或寬度的問題。
一般如果發email的話。我會建議用html碼。
Rax iT邦新手 5 級 ‧ 2018-11-13 16:28:52 檢舉
文件檔是變數,也能用html嗎?
runan5678 iT邦新手 1 級 ‧ 2018-11-13 16:42:08 檢舉
要不要考慮用附件的方式發送
用文字檔跟用html不是都是一樣的東西嗎??
差別只是一個是沒規範。一個是有規範而已。

要不像上面說的,你用附件傳送好了。會比較容易處理
Rax iT邦新手 5 級 ‧ 2018-11-13 16:53:03 檢舉
謝謝你們的建議,附件是列入最下策了,目前是想輸出成.htm後,在內容的首行跟尾行加入<pre></pre>原貌呈現的方式去做,目前還在想怎麼加入文字中...
wwx iT邦好手 1 級 ‧ 2018-11-14 10:09:31 檢舉
選用細明體之類的等寬字型來呈現就可以了
runan5678 iT邦新手 1 級 ‧ 2018-11-15 10:37:52 檢舉
mail寄送內容採用HTML的方式,可以參考這篇https://www.askasu.idv.tw/index.php/2016/04/20/3288/
內有範例檔案能參考

尚未有邦友回答

立即登入回答