在vbs脚本中格式化电子邮件正文以发送电子邮件

时间:2015-02-02 01:56:25

标签: bash email vbscript

我正在创建一个文件,在bash中使用diff检查2个文件之间的差异:

$ echo "they're different" > recordchange.txt
$ echo "$(diff --width=120 -y $f1 $f2)" >> recordchange.txt

这给了我一个在notpad ++中看起来像这样的输出文件: (在Windows7上的记事本中打开它是由于行结尾看到here)

而导致的格式更差
they're different
"KPI1"                                                      "KPI1"
"KPI2 with a different length - but different"         |    "KPI2 with a different length"
"KPI3 with a and even different length"                     "KPI3 with a and even different length"
"KPI4 with a and even longer different length"              "KPI4 with a and even longer different length"

现在我要做的是通过电子邮件发送电子邮件,并使用vbs保持相同的格式。但是经过无数次的搜索后,我无法让格式变得相同。

这是我的代码片段,用于创建取自here的电子邮件正文:

newMail.BodyFormat = 1 '1=Plain text, 2=HTML 3=RichText 
newMail.Body = text & vbCrLf & vbCrLf & vbCrLf & MessageBody & vbCrLf & MyTime
'newMail.HTMLBody = "<html><body><code>" + text + "</code></body></html>"

无论如何,我可以在电子邮件正文中使用与文本文件相同的格式吗?

1 个答案:

答案 0 :(得分:1)

我更喜欢附加文本文件而不是嵌入电子邮件正文,但是<pre>标签定义了预先格式化的文本,它可以帮助......

<pre>元素中的文本以固定宽度字体(通常为Courier)显示,并保留空格和换行符。显示带有异常格式的文本或某种计算机代码时,请使用<pre>元素。

所以你的代码如下:

newMail.HTMLBody = "<html><body><pre>" + text + "</pre></body></html>"