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). "
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
.