Публикую решение, которое сработало для меня, на случай, если оно поможет кому-то еще, извините, что так поздно.
Наиболее надежным способом, который я нашел для этого, было включение вложения как base64 в сам файл eml, ниже приведен пример содержимого eml.
Примечание 01 :base64 для файла получается при выполнении команды base64 в linux с использованием вложения в качестве аргумента (должен работать с любым инструментом base64)
Примечание 02 :строка, используемая для границы, является просто ерундой, используя дату и случайные прописные буквы
Имя файла :emlfile.eml
From: Sender <sender@email.co.za>
To: recipient01@email.co.za
CC: recipient02@email.co.za
Disposition-Notification-To: recipient01@email.co.za
Subject: Generic Subject
Mime-Version: 1.0
Content-Type: multipart/mixed; boundary="19032019ABCDE"
--19032019ABCDE
Content-Type: text/plain; charset="US-ASCII"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
Generic Body Copy
--19032019ABCDE
Content-Type: application;
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="MyPdfAttachment.pdf"
*base64 string goes here (no asterix)*
--19032019ABCDE--
Затем файл filename.eml можно отправить с помощью команды, и он будет содержать вложение
# /usr/sbin/sendmail -t < filename.eml
Маловероятно, что вы действительно используете оболочку Bourne, более вероятно, что вы используете dash (Оболочку Debian Almquist ). Вы можете проверить это, позвонив по номеру:
echo $0
Точное имя оболочки можно получить с помощью скрипта whatshell
изhttps://www.in-ulm.de/~mascheck/various/whatshell/
Но dash не является оболочкой Bourne Shell и в отношении UNIX хуже, чем Bourne Shell, поскольку dash не поддерживает многобайтовые -символы .
Bourne Shell — это оболочка, которая была начата как переписанная оболочка Томпсона Стивеном Борном в 1976 году и с тех пор претерпела значительные изменения.
В 1983 году копия Bourne Shell использовалась в качестве стартовой для Korn Shell (ksh )Дэвида Корна .
В 1988 году и Bourne Shell, и ksh получили поддержку интернационализации, а libc из UNIX развивалась до 1992 года, так что с тех пор обе поддерживают многобайтовые -символы.
В 1989 году оболочка Korn использовалась как образец для Bash, оболочки проекта GNU.
В 1989 году оболочка Bourne Shell 1982 года использовалась в качестве образца для ясеня (оболочки Almquist ), а тире — это исправленная ошибка -версии ясеня. Но и ash, и dash позже добавили функции POSIX.
В 1992 г.POSIX использовал ksh88 в качестве образца для определений оболочки POSIX.
В 2005 г. компания OpenSolaris сделала исходный код оболочки Bourne Shell открытым, а начиная с 2006 г. исходный код оболочки Bourne Shell эволюционировал, чтобы стать совместимым с POSIX.
Хотя в dash отсутствует редактор истории и поддержка нескольких -байтов, текущая оболочка Bourne Shell реализует эти функции.
Основные различия между оболочками на сегодняшний день состоят, однако, в (помимо соответствия POSIX )функциям, которые делают оболочки удобными для использования в качестве интерактивных оболочек. Это то, что вы получаете от недавней Bourne Shell (bosh ), от ksh и от Bash, но не от dash.