Enviar email de um script de shell

2

Eu escrevi um script que executa um programa simples em segundo plano, registra a saída e me envia um email quando o trabalho é concluído. Funciona bem, exceto pelo fato de eu não estar recebendo o email. Eu tentei um e-mail do yahoo, um Gmail, mas eu nunca recebi o e-mail. Foi-me dito que:

1) Eu posso tentar o comando tee , mas eu nunca usei isso

2) Alguns serviços de email não aceitam emails quando o remetente não é especificado

Estou usando o Fedora. Este é o código que eu tenho para registrar os resultados do programa em segundo plano e enviar o email:

(nice -n 10 nohup ./$user_cmd >$log_stdout 2>$log_stderr </dev/null ; echo $body 'date' | mutt -s "$subj" $recipient) &

Se isso não estiver claro, avise-me e postarei o script inteiro. Basicamente, o objetivo é obter o email enviado usando os comandos nice e nohup .

    
por Johnny Williem 20.06.2012 / 11:15

1 resposta

4

Existem muitos motivos pelos quais você não pode receber seu e-mail (spam, MTA não confirmado). A maneira mais fácil de conseguir isso - configure seu MTA para funcionar através de servidores SMTP do Gmail.

Mas primeiro verifique se você tem o MTA instalado!

Aqui alguns exemplos de configuração para diferentes MTAs:

Postfix link

Exim link

Sendmail link

Caso contrário, se você não quiser usar o google, verifique:

  1. O MTA está instalado & configurado corretamente, para que você possa ver seu correio na fila de mensagens (verifique com o comando mailq )
  2. Se o MTA puder enviar e-mails, marque a opção "e-mails devolvidos" na sua fila, isso pode ser marcado como spam
por 20.06.2012 / 12:43