使用带有颜色编码的sendmail

时间:2014-05-05 08:08:43

标签: html tcl sendmail background-color

我正在尝试使用'sendmail'的帮助在tcl中发送带附件的电子邮件,我正在使用以下代码

set msg {From: dinesh}
append msg \n "To: " [join $recipient_list ,]
append msg \n "Cc: " [join $cc_list ,]
append msg \n "Subject: $subject"
append msg \n\n $body

exec /usr/lib/sendmail -oi -t << $msg

现在,我想突出显示正文内容,以便当用户收到它时,可以使用粗体或斜体或任何格式的背景或前景来查看它。

我尝试使用HTML标记,但无法以HTML格式获取,而是获得了文字文本。

是否可以使用sendmail的HTML类型的颜色编码?

1 个答案:

答案 0 :(得分:1)

要发送将被另一端解释为具有样式的电子邮件,您必须以支持嵌入式样式的格式(例如HTML)发送邮件正文,并且您必须发送MIME标头假设正文是那种格式(即HTML内容与内容类型text/html相关联。)。

组装MIME消息相当烦人,但有a package in Tcllib可以提供帮助:

package require mime

# Construct the body
set html "<h1>A test</h1>This is <i>a test</i> of MIME message composition."
set token [mime::initialize -canonical text/html -string $html]

# Add in the headers for email
mime::setheader $token From dinesh
mime::setheader $token To [join $recipient_list ,]
mime::setheader $token Cc [join $cc_list ,]
mime::setheader $token Subject $subject

# Serialize to a string
set message [mime::buildmessage $token]
mime::finalize $token
### How to check for sanity:   puts $message

# Send the message
exec /usr/lib/sendmail -oi -t << $message

您也可以使用来自Tcllib的smtp包进行发送(并且它与mime包很好地集成)但如果exec /usr/lib/sendmail有效,请坚持使用。


请注意,将结果消息显示为样式化需要与接收客户端进行协作。另外要注意的是,传统的内容也是无格式的,就像多部分消息中的纯文本一样。组装这些复杂的东西是因为使用mime包有很大帮助。