Такой себе маааленький простенький скрипт,позволяющий автоматизировать почти все действия по добавлению нового почтового ключа в opendkim. Идет как дополнение к предыдущей статье, и расчитан на те же настройки что приведены там.Скрипт сам добавляет записи куда надо и создает ключ,а так же отображает открытый ключ для добавление его в ТХТ запись доменного имени,а так же перезагружает демон opendkim для принятия новых настроек.

Просто создайте файл с любым именем,след.содержимым и дайте ему права на исполнение:

#!/bin/bash
if [ "$1" = "" ]; then
echo "Не верно указаны параметры. Формат: adddkim site.com"
exit
fi

ME=`whoami`
if [ "$ME" != 'root' ]; then
echo "Запустите с правами root!"
exit
fi

EC="0";
mkdir /etc/opendkim/$1
if [ "$?" != "0" ]; then
echo "Ошибка создания папки /etc/opendkim/$1. Прерываю выполнение"
EC="1"
exit;
fi
opendkim-genkey -D /etc/opendkim/$1/ -d $1 -s default
if [ "$?" != "0" ]; then
echo "Ошибка создания ключей. Прерываю выполнение"
EC="1"
exit;
fi
mv /etc/opendkim/$1/default.private /etc/opendkim/$1/default
if [ "$?" != "0" ]; then
echo "Ошибка переименования файла ключа. Прерываю выполнение"
EC="1"
exit;
fi
chown -R opendkim:opendkim /etc/opendkim/$1
if [ "$?" != "0" ]; then
echo "Ошибка смены владельца папки и ключа. Продолжаю,но с ошибкой."
EC="2"
fi
echo "default._domainkey.$1 $1:default:/etc/opendkim/$1/default" >> /etc/opendkim/KeyTable
if [ "$?" != "0" ]; then
echo "Ошибка добавления в список KeyTable. Прерываю выполнение"
EC="1"
exit;
fi
echo "*@$1 default._domainkey.$1" >> /etc/opendkim/SigningTable
if [ "$?" != "0" ]; then
echo "Ошибка добавления в список SigningTable. Прерываю выполнение"
EC="1"
exit;
fi
echo "$1" >> /etc/opendkim/TrustedHosts
if [ "$?" != "0" ]; then
echo "Ошибка добавления в список TrustedHosts. Прерываю выполнение"
EC="1"
exit;
fi

if [ $EC == "0" ]; then
echo "Запись успешно добавлена!"
cat /etc/opendkim/$1/default.txt
/etc/init.d/opendkim restart
fi
if [ $EC == "1" ]; then
echo "Завершено с критическими ошибками.Запись не добавлена!"
fi
if [ $EC == "2" ]; then
echo "Запись успешно добавлена,но в процессе возникли не критические ошибки!"
cat /etc/opendkim/$1/default.txt
/etc/init.d/opendkim restart
fi

Просто,но работает )))

З.ы,При копипасте отсюда,не забывайте про козлячий прикол вордпресса и кавычек.Отсюда они скопируются не такие как надо bash'у.Это если вдруг откажется работать скрипт)

Добавить комментарий

%d такие блоггеры, как: