Mais algumas informações sobre a boa resposta da davidgo:
O padrão de e-mail não começou com suporte a cor ou fonte. Assim, não há garantia de que o destinatário possa ver qualquer cor, não importa o quanto você tente.
A maioria dos clientes, no entanto, faz o e-mail interpretado um pouco mais amplo e, se você envia um texto rico ou uma página da Web, ele pode renderizar em cores. Alternativamente, se você realmente precisar de uma marcação específica, será necessário enviá-la como uma figura (com todas as desvantagens, como por não poder selecionar texto ou editar).
O correio básico de uma plataforma semelhante ao Unix pode ser enviado da seguinte forma:
sendmail [email protected] < myfile
Ou, se você gosta de gato ou começa com um cachimbo:
cat myfile | sendmail [email protected]
Ou, a partir do eco via shell:
echo 'content here' | sendmail [email protected]
Todos eles enviarão o conteúdo do myfile, sem assunto, sem cor, sem marcação de texto. Apenas um simples correio simples. É uma boa maneira de começar a entender o básico.
Agora, para David responder, ele adiciona uma linha que informa ao mailclient para tratar o texto como HTML ('Content-Type: text / html). A maioria dos clientes de e-mail vai reconhecer isso com alegria. Alguns (como o elm, que eu ainda uso para ler e-mails suspeitos) não vão.
Ele também adiciona um assunto bastante amigável.
E, finalmente, ele usa marcação HTML (comece com <HTML>
e com </HTML>
, tags negrito e configuração de fonte para definir uma cor. Nesse caso, vermelho, mas você pode especificar qualquer cor com "color=" FF0000 "format (em RGB, neste caso, no máximo vermelho, sem verde, sem azul).
Se você tiver a necessidade de um e-mail variável mais complexo, um script de shell pode anexar partes a um arquivo e você pode usar o primeiro método (usuário do sendmail < input) para enviar o arquivo final.
The mail will be opened from Windows.
O cliente de email é importante aqui. Eu espero que o thunderbird renderize isso bem no windows, bem no linux ou no BSD. Semelhante eu espero que o mutt falhe, tanto no Windows quanto no BSD. Desagrupar uma correspondência multiparte com uma alternativa em texto pode ser uma boa ideia. Para isso, veja RFC1341 .