Configuration de Postfix avec SendGrid

Un script interactif pour installer et configurer Postfix en utilisant les services de Sendgrid

#!/bin/bash

echo "Auteur : Tommy Gingras"
echo "Date : 2017-07-05"
echo "But : Installer et configurer postfix comme relais en utilisant les services de sendgrid."
echo "Version : 1.0.0"

RED='\033[0;31m'
GREEN='\033[0;32m'
BLUE='\033[0;34m'
NC='\033[0m' # No Color

# Installation et configuration de postfix avec sendgrid

read -p "Entrer votre identifiant sendgrid : " username
read -s -p "Entrer votre mot de passe sendgrid : " password
echo 

ok=true
while $ok
do
    read -p "Entrer l'adresse courriel qui est relié au compte root: " email
    echo
    if [[ "$email" =~ ^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$ ]]
    then
    ok=false
        break
    else
        echo -e "${RED}L'adresse courriel $email n'est pas valide.${NC}"
    fi
done

echo -e "${BLUE}################### STEP 1 ##################${NC}"
echo "Pendant l'installation, il faut choisir : "
echo "internet site"
echo "Entrer le domaine qu'on veut utiliser."
echo "example.com"
echo -e "${BLUE}#############################################${NC}"

apt-get update
apt-get install -y postfix

# Création du fichier de configuration
echo "inet_interfaces = loopback-only" > /etc/postfix/main.cf
echo "smtp_sasl_auth_enable = yes" >> /etc/postfix/main.cf
echo "smtp_sasl_password_maps = static:$username:$password" >> /etc/postfix/main.cf 
echo "smtp_sasl_security_options = noanonymous" >> /etc/postfix/main.cf
echo "smtp_tls_security_level = encrypt" >> /etc/postfix/main.cf
echo "header_size_limit = 4096000" >> /etc/postfix/main.cf
echo "relayhost = [smtp.sendgrid.net]:587" >> /etc/postfix/main.cf

service postfix restart
echo "Postfix démarré."

echo
echo -e "${BLUE}################### STEP 2 ##################${NC}"

echo "Configuration des alias, on associe le compte root à l'adresse suivante : $email"
sed -i "s/root:.*/root: $email/" /etc/aliases 

newaliases

echo "envoi de deux courriels pour valider la configuration."
echo "Subject: sendmail test" | sendmail $email
echo "Subject: sendmail test for root account" | sendmail root

echo -e "${BLUE}- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -${NC}"

echo -e "${GREEN}Installé et configuré. ${NC}"
echo -e "Vous êtes sensé recevoir deux courriels à cette adresse : $email"

Sources :

référence pour sengrid

regex avec les adresses courriels

Couleur en bash

Laisser un commentaire