diff --git a/script.sh b/script.sh new file mode 100644 index 0000000..fb2d67f --- /dev/null +++ b/script.sh @@ -0,0 +1,52 @@ +#!/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 "Готово." \ No newline at end of file