У меня есть задание cron, которое создает список ресурсов, дату истечения срока действия и дни до истечения срока действия. Отчет создает файл CSV. Я прикрепляю это к сообщению, используя mutt -a report.csv
.
Я также хочу включить информацию в тело письма. Я использую gawk, чтобы отформатировать это в чистые строки и добавить в тело. Это выглядит примерно так:
Resource Expiration Date Days
======================================== ========================= ========
resource one Oct 11 2009 07:59 PM 3
resource two Nov 3 2009 07:59 PM 22
resource three has a longer name Nov 6 2009 07:59 PM 28
rscrc 4 Dec 8 2009 07:59 PM 58
you get the point Dec 17 2009 07:59 PM 66
www.blockbuster1.smartsubs.net Dec 23 2009 07:59 PM 70
(да, я ошибся с датами и сроком действия, в этом примере они не складываются)
Проблема в том, что у большинства получателей почтовые клиенты не настроены для отображения обычного текста электронной почты с использованием шрифта фиксированной ширины. Итак, для них это выглядит так:
Срок действия ресурса Дни
======================================== ========== =============== ========ресурс один 11 октября 2009 19:59 3
ресурс два 3 ноября 2009 19:59 22
у ресурса три более длинное имя 6 ноября 2009 г., 19:59 28
rscrc 4 8 декабря 2009 19:59 58
вы поняли 17 декабря 2009 19:59 66
www.blockbuster1.smartsubs.net 23 декабря 2009 19:59 70
Есть ли предложения о том, как легко отформатировать этот текст в электронном письме, чтобы использовать шрифт фиксированной ширины? У меня есть возможность установить новые инструменты командной строки на этом сервере
Если у вас достаточно последняя версия mutt, я думаю, вы можете сделать что-то подобное.
mutt -e 'set content_type="text/html"' -a file.csv user@example.org -s "subject" < index.html
index.html будет HTML-текстом вашего сообщения.
Я бы сказал, просто создайте таблицу html, используя операторы печати, хакерские, но работает, я делал это раньше.
Менее хакерским было бы использовать преобразователи таблиц csv в html. Вот один с awk. Затем вы можете просто отправить как html, так и простой текст, и их читатель должен использовать. Вам нужно будет узнать, как это сделать с любой почтовой библиотекой / программой, которую вы используете.
В любом случае, я бы пошел с таблицами, пытаясь принудительно установить шрифт ширины исправления. Я думаю, что таблица была бы более последовательной (хотя у меня нет никаких реальных доказательств этого).
Не могли бы вы обернуть все это элементом p и встроенным стилем, установленным для моноширинного шрифта и предварительно отформатированного интервала?