avatar FAQ Bash скрипт для отправки через SMTP с авторизацией

Иногда бывает необходимо отправлять однотипные письма по расписанию, например уведомления, для этого создается задание с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
  • avatar     

0 комментариев

Автор топика запретил добавлять комментарии