Mass-sender-script/script.sh

52 lines
No EOL
1.7 KiB
Bash
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/bin/bash
OVPN_DIR="/home/vic/emails"
EMAIL_LIST="/home/vic/emails/emails.txt" # файл: имя_файла email@example.com
SUBJECT="Ваш OpenVPN конфиг"
# Проверяем, что файл со списком существует
if [[ ! -f "$EMAIL_LIST" ]]; then
echo "Ошибка: файл $EMAIL_LIST не найден"
exit 1
fi
# Читаем список
while read -r filename email; do
# Пропускаем пустые строки и комментарии
[[ -z "$filename" || "$filename" =~ ^# ]] && continue
OVPN_FILE="$OVPN_DIR/$filename"
if [[ ! -f "$OVPN_FILE" ]]; then
echo "Предупреждение: файл $OVPN_FILE не найден, пропускаем $email"
continue
fi
# Отправляем письмо с вложением
(
echo "Subject: $SUBJECT"
echo "To: $email"
echo "MIME-Version: 1.0"
echo "Content-Type: multipart/mixed; boundary=FILEBOUND"
echo ""
echo "--FILEBOUND"
echo "Content-Type: text/plain; charset=utf-8"
echo ""
echo "Здравствуйте!"
echo "Ваш OpenVPN конфигурационный файл прикреплён к этому письму."
echo ""
echo "--FILEBOUND"
echo "Content-Type: application/x-openvpn-profile; name=\"$filename\""
echo "Content-Disposition: attachment; filename=\"$filename\""
echo "Content-Transfer-Encoding: base64"
echo ""
base64 "$OVPN_FILE"
echo ""
echo "--FILEBOUND--"
) | sendmail -t
echo "Отправлено $filename -> $email"
done < "$EMAIL_LIST"
echo "Готово."