В Automic 12 bash специальные символы в теле mailx приводят к тому, что тело присоединяется в виде двоичного файла
Я пытаюсь отправить электронное письмо, используя mailx, через bash в Automic Workload Automation 12.0. Сообщение должно иметь специальный символ, в данном случае знак процента "°".
Сообщение должно иметь тело This is the ° sign.
для этого примера.
Я использую этот код для отправки сообщения. printf '\xB0'
печатает знак °.
(
printf 'This is the '
printf '\xB0'
printf ' sign.'
) | mailx [etc]
Если я копирую и вставляю это непосредственно в терминал bash, электронное письмо отправляется нормально со специальным символом, напечатанным в теле сообщения.
Однако, когда я использую тот же код в заданиях Automic bash, тело письма остается пустым. Прилагается файл с именем ATT00001.bin
, Если я открою ATT00001.bin
используя notepad.exe, файл содержит текст, который должен был быть в теле, This is the ° sign.
С печатными символами точно так, как они должны быть в теле.
Следующее при использовании в Automic приводит к отправке сообщения с правильным телом. Файлы не прикреплены. Таким образом, кажется очевидным, что специальный символ вызывает эту проблему с Automic.
(
printf 'This is the '
printf 'placeholder'
printf ' sign.'
) | mailx [etc]
Кто-нибудь знает, почему это происходит, или как это решить?
1 ответ
Mailx является развитым MUA. Для просто отправки почты, если вы используете sendmail
Вы можете создать свой собственный почтовый заголовок:
/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:
/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 ° sign</body></html>
eomail
Осторожно, используйте только символы ASCII!