Se você tem uma versão recente do mutt, acredito que possa fazer algo assim.
mutt -e 'set content_type="text/html"' -a file.csv [email protected] -s "subject" < index.html
index.html será o corpo html da sua mensagem.
Eu tenho uma tarefa cron que produz uma lista de recursos, data de expiração e os dias até a expiração. O relatório produz um arquivo CSV. Eu anexei isso a uma mensagem usando mutt -a report.csv
.
Eu também quero incluir informações no corpo do email. Eu uso o gawk para formatá-lo em linhas limpas e adiciono isso ao corpo. Parece algo assim:
Resource Expiration Date Days
======================================== ========================= ========
resource one Oct 11 2009 07:59 PM 3
resource two Nov 3 2009 07:59 PM 22
resource three has a longer name Nov 6 2009 07:59 PM 28
rscrc 4 Dec 8 2009 07:59 PM 58
you get the point Dec 17 2009 07:59 PM 66
www.blockbuster1.smartsubs.net Dec 23 2009 07:59 PM 70
(sim, eu falsifiquei as datas e a expiração, elas não se somam neste exemplo)
O problema é que a maioria dos destinatários não tem seus clientes de email configurados para mostrar emails em texto simples usando uma fonte de largura fixa. Então, para eles, é assim:
Resource Expiration Date Days
======================================== ========================= ========resource one Oct 11 2009 07:59 PM 3
resource two Nov 3 2009 07:59 PM 22
resource three has a longer name Nov 6 2009 07:59 PM 28
rscrc 4 Dec 8 2009 07:59 PM 58
you get the point Dec 17 2009 07:59 PM 66
www.blockbuster1.smartsubs.net Dec 23 2009 07:59 PM 70
Existem sugestões de como formatar facilmente este texto em email para que seja forçado a uma fonte de largura fixa? Eu tenho flexibilidade para instalar novas ferramentas de linha de comando neste servidor
Se você tem uma versão recente do mutt, acredito que possa fazer algo assim.
mutt -e 'set content_type="text/html"' -a file.csv [email protected] -s "subject" < index.html
index.html será o corpo html da sua mensagem.
Eu diria apenas construir uma tabela html usando instruções de impressão, hacky mas funciona, eu fiz isso antes.
Menos hacky, seria usar um csv para conversores de tabela html. Aqui está um com o awk . Você pode então enviar apenas html e plaintext, e seu leitor deve usar. Você terá que procurar como fazer isso com qualquer biblioteca / programa de correio que estiver usando.
De qualquer forma, eu iria com as tabelas tentando forçar a fonte de largura de correção. Eu acho que a tabela seria mais consistente (eu não tenho nenhuma evidência real disso).
Você não conseguiu envolver a coisa toda com um elemento p e um estilo in-line definidos para uma fonte monoespaçada e espaçamento pré-formatado?
Tags cron email automation