web-dev-qa-db-fra.com

Configurez Postfix pour utiliser Google Apps SMTP relais dans une instance de moteur de Comute Google

Quelles sont les étapes à suivre pour configurer Postfix comme relais SMTP utilisant le relais de Google Apps SMTP. Il y a un tas de tutoriels sur le Web qui expliquent comment utiliser le smtp.gmail.com passerelle avec authentification SASL, mais je n'ai pas trouvé de configuration de travail pour le relais Google Apps smtp-relay.google.com comme décrit ici , en particulier celle qui est spécifique à Google Compute.

J'ai configuré le service de relais SMTP avec "uniquement des adresses dans mes domaines" comme décrit ici et vérifié que l'IP est en fait celui que je me connecte.

Je sais que Google Compute n'autorise pas le port 25 comme port sortant tel que décrit ici .

J'utilise Debian Linux ou un dérivé Debian.

J'ai la configuration postfix comme détaillé dans le - docs mais tout ce que je reçois dans la messagerie.log est:

postfix/smtp[720]: send attr reason = Host smtp-relay.gmail.com[66.102.1.28] said: 
550-5.7.1 Invalid credentials for relay [104.155.78.1]. The IP address you've
550-5.7.1 registered in Google Apps SMTP Relay service doesn't match domain of 
550-5.7.1 the accountthis email is being sent from. If you are trying to relay 
550-5.7.1 mail from a domain that isn't registered under your Googles Apps 
550-5.7.1 account or has empty envelope-from, you must configure your mail 
550-5.7.1 server either to use SMTP AUTH to identify the sending domain or to 
550-5.7.1 present one of your domain names in the HELO or EHLO command. For 
550-5.7.1 more information, please visit 
550 5.7.1  https://support.google.com/a/answer/6140680#invalidcred kg2sm505213wjb.4 - gsmtp (in reply to MAIL FROM command)
7
konqi

J'ai recherché Internet pendant quelques jours pour trouver la solution que vous cherchiez.

Assurez-vous que vous avez défini les paramètres de relais SMTP sous Apps> Google Apps> Gmail> Paramètres avancés dans votre compte Google Apps comme suit:

Google Apps SMTP relay service settings

Assurez-vous d'avoir installé Postfix et LibSaSL2-Modules.

Sudo apt-get update
Sudo apt-get install postfix
Sudo apt-get install libsasl2-modules

Configuration postfix

Pendant la configuration postfix, définissez les paramètres suivants:

  • Type général de configuration du courrier: Internet avec smartthost.
  • Nom du courrier: exemple.com (nom de domaine entièrement qualifié)
  • Hôte de relais: [smtp.gmail.com]: 587

Ton /etc/postfix/main.cf Le fichier devrait ressembler à ceci:

myhostname = yourdomain.com
smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
biff = no

# appending .domain is the MUA's job.
append_dot_mydomain = no

# Uncomment the next line to generate "delayed mail" warnings
#delay_warning_time = 4h

readme_directory = no

# TLS parameters
smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
smtpd_use_tls=yes
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache

smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases

myorigin = /etc/mailname
mydestination = yourdomain.com

relayhost = [smtp.gmail.com]:587
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all

# Use IPv4 protocol
inet_protocols = ipv4

# enable SASL authentication 
smtp_sasl_auth_enable = yes

# disallow methods that allow anonymous authentication. 
smtp_sasl_security_options = noanonymous

# where to find sasl_passwd
smtp_sasl_password_maps = hash:/etc/postfix/sasl/passwd

# Enable STARTTLS encryption 
smtp_use_tls = yes

# where to find CA certificates
smtp_tls_CAfile = /etc/ssl/certs/ca-certificates.crt

Créer un /etc/postfix/sasl/passwd Fichier et ajoutez votre nom d'utilisateur et votre mot de passe Google Apps comme suit:

[smtp.gmail.com]:587 [email protected]:yourpassword

Maintenant, créez le fichier DB Hash pour Postfix en exécutant la commande PostMap:

Sudo postmap /etc/postfix/sasl/passwd

Sécurisez vos fichiers de mots de passe de mot de passe et de base de données afin que seule la racine puisse les lire et les écrire:

Sudo chown root:root /etc/postfix/sasl/passwd /etc/postfix/sasl/passwd.db
Sudo chmod 0600 /etc/postfix/sasl/passwd /etc/postfix/sasl/passwd.db

Redémarrez Postfix par:

Sudo /etc/init.d/postfix restart

Si vous avez installé des Mailutils, vous pouvez tester l'envoi de mails par:

echo "body of your email" | mail -s "This is a Subject" -a "From: [email protected]" [email protected]

Si votre courrier n'est pas reçu, vérifiez votre fichier Mail.log pour tout message d'erreur:

Sudo tail -f /var/log/mail.log

J'ai écrit un article plus détaillé: http://dev.robbertvermeulen.com/postfix-google-apps-smtp-relay-google-compute-Engine/

1
Robbert