52 lines
No EOL
1.7 KiB
Bash
52 lines
No EOL
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 "Готово." |