Eu instalei e configurei um cliente de e-mail:
sudo apt-get install heirloom-mailx
sudo vi /etc/ssmtp/ssmtp.conf
mailhub=smtp.mail.yahoo.com:587
FromLineOverride=YES
[email protected]
AuthPass=mypassword
UseSTARTTLS=YES
Eu, então, construo e envio um email em um script bash:
#!/bin/sh -x
sender="[email protected]"
recipient="[email protected]"
zipfile="results/file.zip"
today='date +\%d-\%m-\%Y'
mailSubject="My subject on the "$today
mailBody="Les résultats de la fiabilisation des données du $today sont dans le fichier zip.\n\nMy-Company"
echo $mailBody | mail -s "$mailSubject" -r "My Company <$sender>" -S replyto="$sender" -a $zipfile $recipient
Um trabalho de crontab envia o e-mail e eu recebo em minha caixa de correio:
05 12 * * * /home/.../script.sh
Mas um trabalho do Jenkins não parece enviá-lo, não recebo nada na minha caixa de correio:
/home/.../script.sh > logs/script.log 2>&1
O script.log mostra o comando de e-mail sendo chamado:
+ mail -s My subject -r My Company <[email protected]> -S [email protected] -a /home/.../results/file.zip [email protected]
Eu editei os dados confidenciais.
O trabalho de Jenkins mostra uma bola azul bem sucedida para o trabalho.
Outra coisa a notar é que, ao usar o crontab e receber o e-mail na caixa de correio da minha empresa, o endereço de e-mail do gmail usado para fazer logon no smtp também recebe um e-mail sobre:
Address not found
Your message wasn't delivered to [email protected] because the address couldn't be found. Check for typos or unnecessary spaces and try again.
UPDATE: Se em vez de criar o e-mail em um script script.sh
bash e fazer com que Jenkins execute este script bash, eu tenho Jenkins diretamente para construir o e-mail, então o e-mail é enviado e eu o recebo na caixa de correio.