From 824e0849460ed30478201b35500a0134db0bf076 Mon Sep 17 00:00:00 2001 From: Bachir Soussi Chiadmi Date: Mon, 23 Jan 2017 14:40:02 +0100 Subject: [PATCH] dkim spf email validation for exim4 --- assets/exim4_dkim.conf | 4 ++++ install-debian-server.sh | 36 ++++++++++++++++++++++++++++++++++++ 2 files changed, 40 insertions(+) create mode 100644 assets/exim4_dkim.conf diff --git a/assets/exim4_dkim.conf b/assets/exim4_dkim.conf new file mode 100644 index 0000000..6fffb1d --- /dev/null +++ b/assets/exim4_dkim.conf @@ -0,0 +1,4 @@ +DKIM_CANON = relaxed +DKIM_SELECTOR = DATE_TO_CHANGE +DKIM_DOMAIN = DOMAIN_TO_CHANGE +DKIM_FILE = /etc/exim4/dkim/DOMAIN_TO_CHANGE-private.pem diff --git a/install-debian-server.sh b/install-debian-server.sh index 24715d5..e7af609 100755 --- a/install-debian-server.sh +++ b/install-debian-server.sh @@ -141,6 +141,42 @@ echo "\033[35;1mEnable mail sending for php \033[0m" # http://www.sycha.com/lamp-setup-debian-linux-apache-mysql-php#anchor13 sleep 3 dpkg-reconfigure exim4-config +service exim4 restart + +# dkim spf +# https://debian-administration.org/article/718/DKIM-signing_outgoing_mail_with_exim4 +echo "\033[35;1mConfiguring DKIM \033[0m" +while [ "$installdkim" != "y" ] && [ "$installdkim" != "n" ] +do +echo -n "Should we install dkim for exim4 ? [y|n] " +read installdkim +done +if [ "$installdkim" = "y" ]; then + echo -n "Choose a domain for dkim: " + read domain + selector=$(date +%Y%m%d) + + mkdir /etc/exim4/dkim + openssl genrsa -out /etc/exim4/dkim/"$domain"-private.pem 1024 -outform PEM + openssl rsa -in /etc/exim4/dkim/"$domain"-private.pem -out /etc/exim4/dkim/"$domain".pem -pubout -outform PEM + chown root:Debian-exim /etc/exim4/dkim/"$domain"-private.pem + chmod 440 /etc/exim4/dkim/"$domain"-private.pem + + cp "$_cwd"/assets/exima4_dkim.conf /etc/exim4/conf.d/main/00_local_macros + sed -ir "s/DOMAIN_TO_CHANGE/$domain/g" /etc/exim4/conf.d/main/00_local_macros + sed -ir "s/DATE_TO_CHANGE/$selector/g" /etc/exim4/conf.d/main/00_local_macros + + update-exim4.conf + service exim4 restart + echo "please create a TXT entry in your dns zone : $selector._domainkey.$domain \n" + echo "your public key is : \n" + cat /etc/exim4/dkim/"$domain".pem + echo "press any key to continue." + read continu +else + echo 'dkim not installed' +fi + echo '\033[35m