GNU/Linux >> Tutoriels Linux >  >> Debian

Comment configurer le relais SMTP de Postfix sur Debian avec Mailjet

Ce tutoriel va vous montrer comment configurer le relais SMTP de Postfix avec Mailjet sur Debian. Postfix est un serveur SMTP open source populaire. Auparavant, j'ai écrit un article expliquant comment configurer rapidement votre propre serveur de messagerie sur Debian avec Modoboa, ce qui a aidé de nombreux lecteurs à gérer leur propre serveur de messagerie.

Cependant, certains lecteurs m'ont dit que le port 25 est bloqué par le fournisseur d'hébergement ou le FAI afin de contrôler le spam par e-mail, de sorte qu'ils ne pouvaient pas envoyer d'e-mails. Vultr débloquerait le port 25 si vous le leur demandiez, et ScalaHosting ne bloque pas du tout le port 25, donc je recommande d'utiliser ScalaHosting VPS. Certains autres hébergeurs ou FAI comme DigitalOcean ne débloqueraient pas le port 25, alors que pouvez-vous faire pour contourner ce blocage, si vous ne pouvez pas ou ne voulez pas changer d'hébergeur ?

Relais SMTP à la rescousse

Vous pouvez contourner le port 25 et envoyer des e-mails au monde extérieur avec le relais SMTP car il utilise le port 587. Avec le relais SMTP, votre propre serveur de messagerie n'envoie pas directement d'e-mails à l'adresse e-mail de destination. Au lieu de cela, il existe un serveur de messagerie intermédiaire, également appelé hôte intelligent ou hôte relais , qui envoie des e-mails en votre nom. Votre serveur de messagerie communique avec l'hôte intelligent sur le port 587, puis l'hôte intelligent communique avec le serveur de messagerie du destinataire sur le port 25.

Le relais SMTP peut également vous aider à contourner les listes noires anti-spam, si votre adresse IP est sur liste noire pour une raison quelconque. Le serveur de messagerie du destinataire vérifie l'adresse IP de l'hôte intelligent par rapport aux listes noires anti-spam publiques, au lieu de l'adresse IP de votre serveur et parce que les services de relais SMTP maintiennent une bonne réputation IP, afin que vos e-mails puissent passer par les listes noires IP.

Utiliser Mailjet pour envoyer gratuitement 200 e-mails par jour

Il existe plusieurs fournisseurs de services de messagerie (ESP) qui peuvent agir en tant qu'hôte intelligent. Certains facturent des frais minimes, d'autres offrent des quotas gratuits tous les mois. Dans cet article, j'aimerais vous montrer comment utiliser Mailjet, qui est un fournisseur de services de messagerie qui vous permet d'envoyer gratuitement 200 e-mails par jour.

L'avantage de Mailjet est qu'il ne vous oblige pas à saisir les détails de votre carte de crédit lorsque vous utilisez le service de relais SMTP gratuit. Il existe d'autres ESP qui offrent un quota gratuit chaque mois, mais vous obligent à entrer les détails de votre carte de crédit. (Je sais à quel point il peut être frustrant de ne pas avoir de carte de crédit.) Mailjet est également plus facile à configurer que les autres ESP.

Créez un compte sur mailjet.com. Ensuite, sur le tableau de bord, vous pouvez voir les 3 choses que vous devez faire.

  • Configurer SMTP
  • Gestion des adresses d'expéditeur
  • configuration de l'authentification de domaine (SPF et DKIM)

Étape 1 :Configurer le relais SMTP de Postfix sur Debian

Tout d'abord, installons le serveur SMTP Postfix sur Debian avec la commande suivante. Si Postfix est déjà en cours d'exécution sur votre serveur, ignorez l'installation de Postfix , mais vous devez toujours installer les libsasl2-modules paquet.

sudo apt install postfix libsasl2-modules

Lorsque vous voyez le message suivant, appuyez sur la touche Tab et appuyez sur Entrée.

Choisissez ensuite la deuxième option :Internet Site .

Ensuite, définissez le nom de messagerie du système. Par exemple, je saisis mon nom de domaine linuxbabe.com .

Une fois Postfix installé, ouvrez le fichier de configuration.

sudo nano /etc/postfix/main.cf

Trouvez la ligne suivante.

relayhost =

Par défaut, sa valeur n'est pas définie. Vous devez obtenir cette valeur depuis votre compte mailjet. Dans le tableau de bord mailjet, cliquez sur setup my SMTP .

Vous verrez l'adresse du serveur SMTP et les informations d'identification SMTP.

Dans le fichier de configuration de Postfix, définissez la valeur de relayhost vers in-v3.mailjet.com:587 .

relayhost = in-v3.mailjet.com:587

Ajoutez ensuite les lignes suivantes à la fin de ce fichier.

# outbound relay configurations
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options = noanonymous
smtp_tls_security_level = may
header_size_limit = 4096000

Enregistrez et fermez le fichier. Créez ensuite le /etc/postfix/sasl_passwd fichier.

sudo nano /etc/postfix/sasl_passwd

Ajoutez l'hôte de relais SMTP et les informations d'identification SMTP à ce fichier comme ci-dessous. Remplacer api-key et secret-key avec votre vraie clé API Mailjet et votre clé secrète.

in-v3.mailjet.com:587  api-key:secret-key

Enregistrez et fermez le fichier. Créez ensuite le fichier de base de données de hachage correspondant avec postmap .

sudo postmap /etc/postfix/sasl_passwd

Vous devriez maintenant avoir un fichier /etc/postfix/sasl_passwd.db . Redémarrez Postfix pour que les modifications prennent effet.

sudo systemctl restart postfix

Par défaut, sasl_passwd et sasl_passwd.db Le fichier peut être lu par n'importe quel utilisateur sur le serveur. Modifiez l'autorisation à 600 afin que seul root puisse lire et écrire dans ces deux fichiers.

sudo chmod 0600 /etc/postfix/sasl_passwd /etc/postfix/sasl_passwd.db

Désormais, Postfix enverra les emails via mailjet.

Étape 2 :Ajouter des adresses d'expéditeur

Vous devez ajouter le domaine ou l'adresse de l'expéditeur afin d'envoyer des e-mails via mailjet. Dans le tableau de bord mailjet, cliquez sur manage sender addresses . Vous pouvez valider l'intégralité de votre domaine ou des adresses e-mail spécifiques.

Étape 3 :Configurer l'authentification de domaine

Dans cette étape, nous devons configurer les enregistrements SPF et DKIM, ce qui est fortement recommandé si vous souhaitez que vos e-mails atterrissent dans la boîte de réception du destinataire plutôt que dans le dossier spam.

  • SPF :cadre de la politique de l'expéditeur. Il s'agit d'un enregistrement DNS qui spécifie les adresses IP autorisées à envoyer des e-mails depuis votre domaine.
  • DKIM :messagerie identifiée par DomainKeys. Mailjet signera numériquement vos e-mails avec une clé privée. L'enregistrement DKIM contient une clé publique qui permet au serveur de messagerie du destinataire de vérifier la signature.

Dans le tableau de bord mailjet, cliquez sur setup domain authentication . Par défaut, l'état SPF et l'état DKIM sont tous deux erronés. Cliquez sur manage et suivez les instructions pour ajouter des enregistrements SPF et DKIM.

Une fois les enregistrements SPF et DKIM créés, attendez quelques instants et actualisez la page Web mailjet. Vos nouveaux enregistrements DNS peuvent mettre un certain temps à se propager sur Internet, selon votre service d'hébergement DNS. Si les enregistrements SPF et DKIM sont configurés correctement et que la propagation est terminée, mailjet vous indiquera que les enregistrements SPF et DKIM sont bons.

Envoi d'e-mails de test

Nous pouvons maintenant envoyer un e-mail de test avec mailx commande comme ci-dessous.

sudo apt install bsd-mailx

echo "this is a test email." | mailx -r from-address -s hello to-address

Vous pouvez également envoyer un e-mail de test à partir de votre client de messagerie Web ou de votre client de messagerie de bureau. C'est aussi une bonne idée de tester votre score d'e-mail sur https://www.mail-tester.com. Comme vous pouvez le voir, j'ai obtenu un score parfait.

Dépannage

Si votre e-mail n'a pas été livré et que vous avez trouvé le message suivant dans le journal de messagerie (/var/log/mail.log ),

Relay access denied (in reply to RCPT TO command))

alors vous devrez peut-être modifier le /etc/postfix/sasl_passwd fichier et supprimez le numéro de port après le nom d'hôte comme ci-dessous.

in-v3.mailjet.com    api-key:secret-key

Enregistrez et fermez le fichier. Ensuite, créez à nouveau le fichier d'index.

sudo postmap /etc/postfix/sasl_passwd

Redémarrez Postfix pour que les modifications prennent effet.

sudo systemctl restart postfix

Vous pouvez maintenant vider la file d'attente des e-mails (essayer de livrer les e-mails précédents).

sudo postqueue -f

Ajout de domaines supplémentaires

Si vous configurez un serveur de messagerie sur une nouvelle machine pour un nouveau nom de domaine et que vous souhaitez configurer un relais SMTP pour ce nouveau nom de domaine, suivez les mêmes étapes :

  • Configurer les paramètres de relais SMTP de Postfix,
  • Valider le nouveau nom de domaine dans le tableau de bord Mailjet
  • Configurer les vérifications SPF et DKIM

Debian
  1. Comment configurer WireGuard VPN sur Debian 10

  2. Définir une IP Statique sur Debian 11 - Comment faire ?

  3. Comment configurer un serveur SFTP sur le serveur Debian 11

  4. Comment configurer un pare-feu avec UFW dans Ubuntu \ Debian

  5. Comment configurer Nginx avec la prise en charge HTTP/2 sur Debian 9

Comment configurer ModSecurity avec Nginx sur Debian/Ubuntu

Comment configurer facilement un serveur de messagerie sur Debian 9 Stretch avec iRedMail

Comment configurer facilement un serveur de messagerie sur Debian 10 Buster avec iRedMail

Comment changer le nom d'hôte sur Debian 10

Comment configurer Mailman avec Debian et ISPConfig

Comment configurer un pare-feu avec UFW sur Debian 11