У меня есть текст в файле в UNIX. Я отправляю этот файл на мою почту с помощью команды mail
. То, что я хочу, - это текст, который должен быть выделен каким-либо цветом в теле письма. Почта будет открыта из Windows. Любая помощь будет принята с благодарностью.
2 ответа
Вам нужно будет преобразовать содержимое в 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
Обратите внимание, что это немного грубая реализация, и, скорее всего, она будет отброшена спам-фильтрами, если не настроена.
Еще немного предыстории к хорошему ответу Давидго:
Стандарт электронной почты не начинался с поддержки цвета или шрифта. Таким образом, нет никакой гарантии, что получатель может видеть любой цвет, независимо от того, как сильно вы пытаетесь.
Однако большинство клиентов интерпретируют почту немного шире, и если вы отправляете форматированный текст или веб-страницу, она может отображаться в цвете. В качестве альтернативы, если вам действительно нужна конкретная разметка, вам нужно будет отправить ее в виде картинки (со всеми недостатками, если вы не можете выбрать текст или редактировать).
Базовая почта с 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.