2016-01-27 2 views
0

Публикация здесь впервые.
У меня есть следующий файл и содержание:Отправленный по электронной почте вывод 'cat' удаляет случайные пробелы и новые строки

linux$ cat file.txt  
line 1 
line 2 
line 3 
line 4 

У меня есть следующий код:

Output=$(cat file.txt) 
echo "$Output" | mail -s "[Test]" -a test.txt [email protected] 

я посылаю сам файл в качестве вложения для отладки цели. Проблемы я сталкиваюсь, что тело письма, содержащее вывод 'кот file.txt' выглядит следующим образом:

линия 1
линии 2 линии
3 линия 4

прикрепленный файл содержит правильно отформатированный вывод «cat file.txt», никакие символы, новые строки, пробелы не добавляются и не удаляются.

Что может быть причиной этого? Цените свою помощь!

+0

У вас такая же проблема, если вы читаете прямо из 'file.txt'? I.e., 'mail -s" [Test] "-a test.txt [email protected] chepner

+0

Что вы используете для чтения электронной почты? В некоторых почтовых программах, таких как Outlook, есть опция «Удалить лишние строки в текстовых сообщениях», которые могут испортить форматирование. –

ответ

-1

Я думаю, вам, вероятно, нужно указать, в каком формате должен быть отправлен ваш почтовый контент.

UTF-8 - отличный вариант, поскольку он почти во всем мире.

Это может быть полезно:

кошка file.txt | ПОЧТА -ная $ (эхо -e "Test \ nContent-Type: текст/html") '-a test.txt [email protected]

или с кодировкой

кот файла. txt | почта -s '$ (эхо -e "Test \ nContent-Type: Текст/html; кодировка =" US-ASCII ")' -a test.txt [email protected]

или без трубопровода UNIX

почты -a. Content-тип: текст/равнинный, кодировка = "US-ASCII" '[email protected] < file.txt

Более подробную информацию можно найти here

Это действительно зависит от того, какая версия вашего почта.

Надеюсь, что это может быть полезно

+0

Большое спасибо dotslash, это очень помогло! Ценить это – Spitfire86

Смежные вопросы