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:eBcc: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). "
sendmailinjeçã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.