52 lines
1.7 KiB
Bash
52 lines
1.7 KiB
Bash
|
|
#!/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 "Готово."
|