Estou usando o esmtp para enviar email como saída do cron job. O servidor SMTP e a configuração das credenciais são armazenados em $HOME/.esmtprc. No entanto, parece que a variável $HOME env está definida como '/', em vez de HOME em /etc/passwd como o manual sugere. Alterei /usr/sbin/sendmail para gerar variáveis de ambiente para arquivo e vejo isto:
INÍCIO='/'
No entanto, os cabeçalhos do e-mail contêm isto:
X-Cron-Env: <HOME=/home/nomedeusuário>
qual é correto. Então, por que $HOME não está definido para o esmtp?
Responder1
Presumo que você esteja se referindo a um usuário cron, talvez algo que você possa acessar via 'crontab -e' como um usuário específico.
Freqüentemente, os cron jobs são executados com $HOME definido como '/'.
Em algumas versões do cron você pode alterar isso adicionando uma linha ao crontab.
por exemplo, você pode fazer um 'crontab -e' e ter linhas ao longo do seguinte
HOME=/home/myhome
0 * * * * /bin/sh -c "echo $HOME" >> /tmp/doesitwork.log
ou algo semelhante