Я установил и настроил почтовый клиент:

sudo apt-get install heirloom-mailx
sudo vi /etc/ssmtp/ssmtp.conf
mailhub=smtp.mail.yahoo.com:587
FromLineOverride=YES
AuthUser=myuser@yahoo.com
AuthPass=mypassword
UseSTARTTLS=YES

Затем я создаю и отправляю почту в bash-скрипте:

#!/bin/sh -x
sender="myuser@yahoo.com"
recipient="recipient@domain.com"
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

Задание crontab отправляет почту, и я получаю ее в своем почтовом ящике:

05 12 * * * /home/.../script.sh

Но работа Дженкинса, кажется, не отправляет ее, я ничего не получаю в своем почтовом ящике:

/home/.../script.sh > logs/script.log 2>&1

Script.log показывает вызываемую почтовую команду:

+ mail -s My subject -r My Company <???@my-domain.com> -S replyto=???@my-domain.com -a /home/.../results/file.zip ???@my-domain.com

Я отредактировал конфиденциальные данные.

Работа Дженкинса показывает успешный синий шар для работы.

Следует также отметить, что при использовании crontab и получении электронной почты в почтовом ящике моей компании на адрес электронной почты gmail, используемый для входа в smtp, также поступает электронная почта со следующими сведениями:

Address not found
Your message wasn't delivered to root@my-domain.com because the address couldn't be found. Check for typos or unnecessary spaces and try again.

ОБНОВЛЕНИЕ: Если вместо создания почты в bash-скрипте script.sh и когда Дженкинс выполняет этот bash-скрипт, у меня есть Дженкинс, который непосредственно строит почту, тогда письмо отправляется, и я получаю его в своем почтовом ящике.

1 ответ1

0

Проблема была решена с помощью почтового клиента mutt .

Файл сценария mail.sh , когда он вызывается заданием Jenkins, отправляет почту, и я получаю его в своем почтовом ящике.

#!/bin/bash

sender="sende@domain.com"

recipient="recipient@domain.com"

zipfile="/home/.../file.zip"

today=`date +\%d-\%m-\%Y`

mailSubject="The subject "$today

mailBody=$(cat /home/.../mail-body.html)
mailBody="${mailBody/\$today/$today}"

echo "$mailBody" | mutt -s "$mailSubject" -e "set content_type=text/html" -e "my_hdr From:My Name <$sender>" -a "$zipfile" -- $recipient

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .