首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Automic 12 bash中,mailx body中的特殊字符导致将body作为二进制文件附加。

在Automic 12 bash中,mailx body中的特殊字符导致将body作为二进制文件附加。
EN

Stack Overflow用户
提问于 2017-09-14 20:05:20
回答 1查看 527关注 0票数 0

我试图通过AutomicWorkloadAutomation12.0的bash作业使用mailx发送电子邮件。消息需要有一个特殊的字符,在这种情况下,百分比符号"°“。

对于这个例子,消息应该有主体This is the ° sign.

我正在使用这段代码来发送消息。printf '\xB0'打印°符号。

代码语言:javascript
复制
(
  printf 'This is the '
  printf '\xB0'
  printf ' sign.'
) | mailx [etc]

如果我直接将其复制并粘贴到bash终端中,则电子邮件将很好地发送到邮件正文中打印的特殊字符。

但是,当我在Automic作业中使用相同的代码时,电子邮件正文是空的。有一个附加的文件,名为ATT00001.bin。如果我使用ATT00001.bin打开notepad.exe,文件中包含的文本应该在正文中,This is the ° sign.中的字符与正文中应该打印的字符完全相同。

当在Automic中使用以下内容时,将以正确的正文发送消息。没有附加文件。因此,很明显,这个特殊的字符是导致这个问题与Automic。

代码语言:javascript
复制
(
  printf 'This is the '
  printf 'placeholder'
  printf ' sign.'
) | mailx [etc]

有没有人知道为什么会发生这种情况,或者如何解决?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-09-15 10:35:46

Mailx是一种进化的MUA。如果使用sendmail,只需发送邮件,就可以构建自己的邮件头:

代码语言:javascript
复制
/usr/sbin/sendmail destuser@desthost <<eomail
To: destuser@desthost
Subject: Any interesting thing
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit

This is the ° sign
eomail

或者您可以使用html编码:

代码语言:javascript
复制
/usr/sbin/sendmail destuser@desthost <<eomail
To: destuser@desthost
Subject: Any interesting thing
MIME-Version: 1.0
Content-Type: text/html; charset="ASCII"
Content-Transfer-Encoding: 8bit

<html><body>This is the &deg; sign</body></html>
eomail

小心,只使用ASCII字符那里!

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46227403

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档