
Иногда бывает необходимо отправлять однотипные письма по расписанию, например уведомления, для этого создается задание
сron, проблема в том что большинство SMTP серверов требуют авторизацию, для этого я набросал небольшой скрипт, вернее я нашел его части на просторах и допилил под свои задачи, надеюсь он окажется кому-то полезен и сэкономит несколько часов.
Данный скрипт работает с Yandex,Google,Mail необходимо указать правильные
SMTP сервера и порты.
#!/bin/bash
TMP=$(mktemp)
FROM_EMAIL_ADDRESS="sender@example.net"
TO_EMAIL_ADDRESS="recipient@example.org"
EMAIL_SUBJECT="Текст письма"
SMTP="smtp.example.net:25"
FRIENDLY_NAME="User Name"
EMAIL_ACCOUNT_PASSWORD="smtp_password"
cat > $TMP << EOF
EOF
cat $TMP | \
echo "${EMAIL_SUBJECT}"| iconv -t UTF-8 | mailx -v \
-s "Тема письма" \
-S smtp-auth=login \
-S smtp=${SMTP} \
-S from="${FROM_EMAIL_ADDRESS}(${FRIENDLY_NAME})" \
-S smtp-auth-user=$FROM_EMAIL_ADDRESS \
-S smtp-auth-password=$EMAIL_ACCOUNT_PASSWORD \
$TO_EMAIL_ADDRESS
[ -e $TMP ] && rm $TMP
0 комментариев