4

У меня есть текст в файле в UNIX. Я отправляю этот файл на мою почту с помощью команды mail . То, что я хочу, - это текст, который должен быть выделен каким-либо цветом в теле письма. Почта будет открыта из Windows. Любая помощь будет принята с благодарностью.

2 ответа2

14

Вам нужно будет преобразовать содержимое в HTML и убедиться, что заголовок письма содержит

Content-Type: text/html; charset=UTF-8

То, как вы это сделаете, будет зависеть от того, какой программой является ваша команда "mail", и, действительно, может оказаться невозможным. Вы можете изменить скрипт, чтобы вместо этого вставлять письмо в sendmail или что-то подобное

echo 'Content-Type: text/html; charset=UTF-8
Subject: My Subject

<html>
<b>Email Header</b>
<br /><br />
<font color="red">This text is red</font>
</html>' | sendmail user@domain.name

Обратите внимание, что это немного грубая реализация, и, скорее всего, она будет отброшена спам-фильтрами, если не настроена.

7

Еще немного предыстории к хорошему ответу Давидго:

Стандарт электронной почты не начинался с поддержки цвета или шрифта. Таким образом, нет никакой гарантии, что получатель может видеть любой цвет, независимо от того, как сильно вы пытаетесь.

Однако большинство клиентов интерпретируют почту немного шире, и если вы отправляете форматированный текст или веб-страницу, она может отображаться в цвете. В качестве альтернативы, если вам действительно нужна конкретная разметка, вам нужно будет отправить ее в виде картинки (со всеми недостатками, если вы не можете выбрать текст или редактировать).

Базовая почта с Unix-подобной платформы может быть отправлена следующим образом:

sendmail user_to_mail_to@domain.tld < myfile

Или, если вам нравится кошка или начать с трубы:

cat myfile | sendmail user_to_mail_to@domain.tld

Или от повторения через оболочку:

echo 'content here' | sendmail user_to_mail_to@domain.tld

Все они отправят содержимое myfile без темы, цвета и текстовой разметки. Просто простая почта. Это хороший способ начать с понимания основ.


Теперь для ответа Дэвида, он добавляет строку, которая указывает почтовому клиенту обрабатывать текст как HTML ('Content-Type: text/html). Большинство почтовых клиентов с радостью узнают это. Некоторые (такие как вяз, который я до сих пор использую для чтения подозрительных писем) не будут.

Он также добавляет тему, которая довольно удобна для пользователя.

И, наконец, он использует разметку HTML (начните с <HTML> и с </HTML> , тегами Bold и настройкой шрифта для установки цвета. В этом случае красный, но вы можете указать любой цвет в формате "color =" FF0000 "(в RGB, в этом случае максимальный красный, без зеленого, без синего).

Если вам нужна более сложная, переменная почта, тогда сценарий оболочки может добавлять части в файл, и вы можете использовать первый метод (sendmail user <input) для отправки окончательного файла.


Почта будет открыта из Windows.

Почтовый клиент имеет значение здесь. Я ожидаю, что Thunderbird прекрасно справится с этим на Windows, а также на Linux или BSD. Похоже, что Mutt потерпит неудачу, как на Windows, так и на BSD. Хорошей идеей может быть создание составной почты с текстовой альтернативой. Для этого см. RFC1341.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .