Formatando um arquivo para o sendmail

0

Como posso formatar um arquivo para que eu possa fazer apenas cat file | sendmail ?

Ao colocar Subject: This is the subject , não preciso especificar o assunto no sendmail, mas adicionar o campo To: [email protected] me dá Recipient names must be specified

    
por Steven Morad 16.02.2014 / 01:00

2 respostas

2

Você está perdendo a distinção entre conteúdo (cabeçalhos e corpo) e a mensagem envelope . Você está invocando sendmail com o conteúdo da mensagem, mas não está fornecendo o envelope. É o envelope que controla a entrega. Sem ela, a mensagem não pode ir a lugar nenhum.

Você não diz qual sendmail comando que está usando. Cada MTS - Sendmail, qmail, Postfix, exim e assim por diante - tem o seu próprio. O subconjunto comum de todos eles tem apenas duas maneiras de especificar os destinatários do envelope e do envelope:

  • explicitamente na linha de comando como argumentos para sendmail :
    < file sendmail -f [email protected] postmaster@localhost
  • implicitamente no corpo da mensagem, que é analisado por To: , Cc: e Bcc: headers:
    < file sendmail -f [email protected] -t

Esse subconjunto comum é muito limitado. Observe, por exemplo, que esse modo de envio de mensagens a partir de argumentos padrão de entrada e comando é o modo -bm do Sendmail, mas nem todos os programas sendmail suportam até mesmo uma opção -bm . Então, para invocar portably este modo, você não pode usar a opção.

Há também ressalvas de portabilidade ao combinar -t com destinatários dados como argumentos de comando, para detalhes sobre o que ver o livro de Dave Sill. Então escolha uma forma ou outra. Não misture-os.

Leitura adicional

  • Dave Sill (2001). " sendmail injeção". O Manual do qmail . ISBN 9781893115408. Apress. pp. 123–126.
  • Weitse Venema. sendmail . Páginas de manual do postfix.
  • sendmail . Páginas de manual do correio.
  • Era Eriksson (2000). O uso inútil do prêmio cat .
por 16.02.2014 / 01:43
1

Por padrão, sendmail espera que os destinatários sejam especificados na linha de comando. Use -t para fazer com que ele leia os cabeçalhos To: , Cc: , Bcc: .

    
por 16.02.2014 / 01:19