Як надсилати пошту з командного рядка linux, щоб вона відображалася як HTML одержувачу?


10

Я спробував надіслати електронною поштою звичайну веб-сторінку, використовуючи щось на кшталт:

mail -s "Test Email" blah@blah.com < webpage.htm

Однак одержувач бачить необроблені теги HTML в електронній пошті, і жодного мого ретельного форматування. Я використовую RedHat Linux.

Відповіді:


10

Вам потрібно сказати MUA, що вміст містить HTML. Традиційно це робиться за допомогою MIME. Спробуйте додати в повідомлення такі рядки заголовка:

Mime-Version: 1.0
Content-Type: text/html

Можливо, вам також знадобиться додати заголовок Content-Transfer-Encoding. На сторінці Вікіпедії на MIME є більше деталей, включаючи посилання на відповідні RFC.

Оновлення: Це справно працювало, коли вводилося sendmail -t:

From: me@example.org
To: me@gmail.com
Subject: MIME Test
Mime-Version: 1.0
Content-Type: text/html

<html>
<body>
This is a test.
</body>
</html>

Якщо у мене є тип вмісту, application/xhtml+xmlвін додається як додаток. Як ви думаєте, це можна виправити?
Adobe

Ще одне питання: якщо у мене є вбудовані зображення у html-файлі - як їх зберегти за допомогою цього методу ( sendmail -t)?
Adobe

Щодо вбудованих зображень: я знайшов рішення - але gmail не завантажує зображення (yahoo do).
Adobe

2

Solucion a envio html

mail -a 'MIME-Version: 1.0' -a 'Content-Type: text/html; charset=iso-8859-1' -a 'X-AUTOR: Ing. Gareca' -s 'MTA STATUS: mail queue' rgareca@hotmail.com  -- -f seincotel@seincotel.com  < /tmp/eximrep.html


1

Впевнені, що це можливо за допомогою пошти:

mail -a 'Content-type: text/html; charset="us-ascii"' foo@bar.com < /file.html

Я отримую помилку: Content-type: text/html; charset="us-ascii": No such file or directory. з пошти --help, я розумію, що -a варіант призначений для проходження FILE.
Прабхат Кумар Сінгх

0

Повідомлення електронної пошти, як і веб-сторінки, мають у своєму заголовку тип вмісту. Здається, "пошта" передує цьому і не надсилає жодної, тому всі MUA повертаються до відображення повідомлення як текст / звичайний.

Якщо ви хочете вказати всі заголовки вручну, зателефонуйте sendmail recipient@example.comта передайте все до нього.

<subjective>Але пам'ятайте , що в той час як HTML лист не люблять деякі люди (включаючи мене), який одержує HTML електронної пошти без альтернативного тексту / рівнинна частина це дійсно дратує . Тож, якщо ви абсолютно не впевнені, що одержувач може бачити HTML-повідомлення добре, краще було б надіслати багатостороннє повідомлення з текстовою частиною в якості альтернативи.</subjective>


SMTP (STD 11 / RFC 823, 1982) насправді передує MIME (RFC 2045, 1996) та всі його корисні HTML-якості. Він утворився з шкур буйволів на зорі Інтернету.
Джеральд Гребінь

Джеральд: Я мав на увазі mailxMUA (який я чомусь вважаю ще старшим), а не електронною поштою.
користувач1686

Відповідно до сторінки пошти (1) OS X, "Командна пошта з'явилася у версії 1 AT&T UNIX." Ubuntu каже, що це версія 3 AT&T UNIX. Так чи інакше, це, здається, з’явилося близько 1971 або 1973 рр.
Джеральд Гребінь

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.