Intégration de Postfix avec le service de transmission de messages
Utilisez Postfix pour envoyer des courriels au moyen du service de transmission de messages.
Configurer Postfix pour l'envoi de courriels au moyen du service de transmission de messages
Postfix est un agent de transfert de courriels gratuit et open source qui permet d'acheminer et de livrer du courriel. Il est publié sous la licence publique IBM 1.0 qui est une licence de logiciel libre, et peut déjà être installé. Pour en savoir plus sur Postfix, voir le site Web de Postfix. Vous pouvez utiliser Postfix pour envoyer des courriels au moyen du service de transmission de messages. Avant d'utiliser Postfix, vous devez configurer Oracle Cloud Infrastructure Email Delivery dans l'application Postfix.
Ces instructions contiennent un exemple de code pour vous faciliter la tâche et les utiliser comme référence. Pour obtenir de l'assistance, communiquez avec le soutien à la clientèle de Postfix. Ces étapes ont été testées sur une instance de calcul Oracle Linux Server version 7.9 et Postfix version 2.10.1.
Les chemins et les commandes utilisés dans la procédure suivante pour spécifier les emplacements des fichiers sont spécifiques à Ubuntu/Debian. Les chemins d'accès aux fichiers ou les commandes d'édition peuvent différer selon le système d'exploitation que vous utilisez. Les modifications apportées aux fichiers de configuration sont les mêmes.
Pour activer l'intégration entre Postfix et le service de transmission de messages :
-
Assurez-vous que le service de transmission de messages est configuré pour l'envoi de courriels. Voir Introduction.
Note
Les données d'identification SMTP sont requises pour configurer Postfix afin qu'il puisse utiliser le service de transmission de messages. Notez le nom d'utilisateur et le mot de passe SMTP lorsque vous générez les données d'identification SMTP, qui apparaissent dans les paramètres de l'utilisateur. Ces valeurs spécifiques, et non votre identité d'utilisateur OCI, sont requises pour la configuration. Si vous avez perdu les données d'identification de mot de passe pour vos données d'identification SMTP, vous devez créer un nouveau jeu de données d'identification.
-
Pour ouvrir le fichier
main.cf
, exécutez la commande suivante :sudo vi /etc/postfix/main.cf
Ajoutez les informations suivantes à la fin du fichier :
smtp_tls_security_level = may smtp_sasl_auth_enable = yes smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd smtp_sasl_security_options =
-
Le service de transmission de messages requiert le chiffrement TLS sécurisé (sécurité au niveau du transport) pour toutes les soumissions de courriels SMTP. Utilisez le paramètre smtp_tls_security_level pour que Postfix utilise la prise en charge de STARTTLS lors de la connexion à des serveurs SMTP distants tels que le service de transmission de messages pour OCI :
smtp_tls_security_level = may
Pour appliquer l'utilisation de TLS pour toutes les communications de serveur distant, utilisez le paramètre suivant :
smtp_tls_security_level = encrypt
Note
Par défaut, le client Postfix suppose que la taille maximale autorisée pour les messages est celle reçue dans la réponse initiale HELO étendue (EHLO). Ce sera toujours notre déploiement par défaut de 2 Mo. Si votre limite pour la taille maximale de message est plus élevée, vous devez configurer le client Postfix pour ignorer cette valeur par défaut. Modifiez le fichier/etc/postfix/main.cf
et ajoutez les éléments suivants :smtp_discard_ehlo_keywords = size
-
Mettez à jour
relayhost
afin d'inclure le point d'extrémité et le port de votre connexion SMTP, puis enregistrez ou actualisez le fichier. Par exemple, pour envoyer des messages au moyen du nouveau port de soumission de courriel par défaut 587, utilisez :relayhost = smtp.email.us-ashburn-1.oci.oraclecloud.com:587
Note
Pour obtenir la valeur de point d'extrémité correcte, consultez Points d'extrémité d'authentification et de connexion. Nous recommandons le port 587, alors ajoutez " :587" à la fin du point d'extrémité dont vous avez besoin, comme indiqué dans l'exemple. -
Créez le fichier
sasl_passwd
dans le même répertoire que le fichiermain.cf
.Exécutez la commande suivante :
sudo vi /etc/postfix/sasl_passwd
-
Ajoutez votre hôte et votre port de relais en entrant ce qui suit :
server:port user:pass
Où :
- La valeur de
server
correspond à votre hôte de relais et la valeur deport
à 25 ou, de préférence, à 587. - La valeur de
user
correspond au nom d'utilisateur SMTP que vous avez créé et la valeur depass
est le mot de passe que vous avez reçu lorsque vous avez généré vos données d'identification SMTP.
- La valeur de
-
Octroyez les autorisations dans le fichier de mot de passe.
Exécutez la commande suivante :
sudo chown root:root /etc/postfix/sasl_passwd && sudo chmod 600 /etc/postfix/sasl_passwd
-
Générez le code de hachage du mot de passe.
Exécutez la commande suivante :
sudo postmap hash:/etc/postfix/sasl_passwd
-
Rechargez Postfix.
Exécutez la commande suivante :
sudo postfix reload
-
Testez la configuration en envoyant un courriel de test.
Exécutez la commande suivante :
echo "This is a test message" | mail -s "Test" -r <approved sender email address> <recipient email address>
Note
Certaines versions de mail et mailx ne prennent en charge ni le commutateur -r pour définir l'expéditeur dans le courriel, ni le commutateur -a pour créer des en-têtes supplémentaires. Dans ces cas, l'expéditeur est déterminé par le système d'exploitation et peut être remplacé par divers autres moyens. Si vous souhaitez remplacer les adresses de courriel générées par le système dans ce cas, vous pouvez utiliser les règles de réécriture situées dans /etc/postfix/header_checks.Le message
status=sent (250 Ok)
dans le journal indique que le courriel a été envoyé avec succès.
Dans certains environnements, l'utilisation de l'authentification SASL nécessite l'ensemble RPM suivant : cyrus-sasl-plain
. Voir le site Web de PostFix pour plus de documentation sur la configuration de l'authentification SASL.
Informations supplémentaires
- Pour plus d'informations sur la configuration de Postfix, voir le site Web de Postfix.
- Voir smtp_tls_security_level pour plus d'informations sur le niveau de sécurité TLS SMTP par défaut pour le client SMTP Postfix.
- Pour plus d'informations sur la prise en charge de STARTTLS pour les clients SMTP distants, voir smtpd_use_tls. Cette fonctionnalité a été introduite dans Postfix version 2.2 mais est obsolète depuis la version 2.3.
- Reportez-vous à la section Erreurs TLS lors de l'intégration à Postfix pour obtenir des informations sur les techniques de résolution des problèmes liées à la service de transmission de messages.