Отправить текст, используя почту bash, какой почтовый клиент увидит и отобразит текст? - PullRequest
0 голосов
/ 11 мая 2019

Электронная почта, отправленная с использованием электронной почты bash, ужасно отображается в принимающем почтовом клиенте, поскольку отображает его с использованием шрифта, не являющегося монотипным по умолчанию.

Я разбил его на простой пример.

Посмотрел немного на uuencoding и сделал его вложением, но решил, что должен быть какой-то простой способ сказать ~ "здесь идет текст" или обернуть его в html, что я могу сделать, но как потом вставить html в команду mail .

CSV-файл:

$ cat file.csv
HEADER1,HEADER2,HEADER-3
value,value,value
value,value,value
$ 

Более красивый вид CSV-файла:

$ column -ts, file.csv
HEADER1  HEADER2  HEADER-3
value    value    value
value    value    value
$

Это именно то, что я хочу показать в электронном письме, как-то подсказывая ему использовать монотипный шрифт.

Я хочу сделать это:

$ column -ts, file.csv | mail -s "subject" user@someplace.com

Ожидается (извините за bkgrd цвета): Приятно выстроенный текст

Что я получу: тот же текст плохо отформатирован в почтовом клиенте

1 Ответ

0 голосов
/ 11 мая 2019

Вы можете сделать именно то, что вы пытаетесь сделать с помощью программы для отправки сообщений из командной строки S-nail , которая является самой последней ветвью Heirloom mailx , которые являются производными от почты Беркли. Команда mailx для всех пакетов и будет принимать ввод по каналу stdin. Пакет представляет собой полнофункциональную программу для работы с командной строкой с широким набором функций и поддержкой вложений.

Для вашего случая вы можете просто сделать:

$ column -ts, file.csv | mailx -s "Subject Line" recipient@somedomain.com

с bash вы также можете использовать процесс подстановки и избежать канала:

$ mailx -s "Subject Line" recipient@somedomain.com < <(column -ts, file.csv)

Или, если вы просто хотите включить файл в качестве вложения, вы можете сделать:

$ echo "attached" | mailx -s "Subject Line" -a file.csv recipient@somedomain.com

Проверьте ваш дистрибутив, поскольку он, вероятно, предоставляет либо s-nail, либо mailx пакет для установки.

Пример получающегося E-mail

Включен фрагмент из полного заголовка для отображения форматирования и кодирования.

To: david@nirvana.xxxxxxxxxxx.com
Subject: csv column
User-Agent: Heirloom mailx 12.5 7/5/10
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Message-Id: <20190511072931.BB7AF122BED@wizard.xxxxxxxxxxx.com>
From: david@wizard.xxxxxxxxxxx.com (David C Rankin)

HEADER1  HEADER2  HEADER-3
value    value    value
value    value    value
$
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...