#bash #shell #sendmail
#bash #оболочка #отправить почту
Вопрос:
cat run_summary.txt | unix2dos | mail -s "summary log" email_id@gmail.com
Эта команда отправляет почту в виде тела сообщения. Однако он не отформатирован. run_summary.txt содержит строки со столбцами, но в электронной почте это не то же самое, что в файле журнала. файл журнала находится в таком формате, как показано ниже.
below is the summary of log files:
#empty line
date time mon
12 09 jan
07 22 apr
Комментарии:
1.
TAB
отображение зависит от почтового клиента, может отображаться в виде любого количества пробелов. Для выравнивания, если принимающий почтовый клиент не использует текстовый терминал true или шрифт фиксированной ширины, выравнивание не гарантируется. Обычно вы можете форматировать текстовые / простые части MIME с подсчетом символов и ожидать, что клиент будет использовать шрифт фиксированной ширины.2. Можете ли вы сообщить мне, есть ли в скриптах bash функциональность для чтения файла и отправки его на почту в столбцах / таблицах. или, если нет, можете создать .html и отправить это на почту?
Ответ №1:
cat
Команда не требуется. Вы должны перенаправить файл в mail
команду.
Кроме того, unix2dos
команда может обрабатывать файлы, а не строки. В вашем случае unix2dos
команда получает строку из-за cat
command. Пожалуйста, прочтите справочную страницу unix2dos
команды: https://linux.die.net/man/1/unix2dos
Пример:
mail -s "summary log" my_mail@gmail.com < run_summary.txt
Если вам действительно нужна unix2dos
команда, вы можете сделать это:
unix2dos run_summary.txt amp;amp; mail -s "summary log" my_mail@gmail.com < run_summary.txt
К ВАШЕМУ СВЕДЕНИЮ:
В приведенном выше примере исходное содержимое run_summary.txt
файла будет перезаписано. Если вы хотите создать новый файл, вы должны использовать -n
флаг.
Например.:
Convert a.txt and write to e.txt.
unix2dos -n a.txt e.txt
Я использовал тот же текстовый файл, что и вы, и письмо содержит следующее содержимое:
date time mon
12 09 jan
07 22 apr
Комментарии:
1. Если файл журнала содержит более одного пробела между столбцами, он не выровнен с теми же пробелами в mail.