web-dev-qa-db-fra.com

Configurer Postfix sur Envoyer / Relais Emails Gmail (smtp.gmail.com) via le port 587

Utilisation de Centos 5.4, avec postfix. Je peux faire un

mail [email protected] 
subject: blah
 test
.
Cc:

et le MSG est envoyé à Gmail, mais il réside dans le dossier de spam, à prévoir.

Mon objectif est de pouvoir générer des msgs par courrier électronique et de les faire apparaître dans la boîte de réception ordinaire! Comme je le comprends, Postfix/Gmail, il est possible de configurer Postfix vers Envoyer/relais Mail via l'utilisateur authentifié/valide à l'aide du port 587, ce qui n'aurait plus le courrier que le courrier est considéré comme spam.

J'ai essayé un certain nombre de paramètres basés sur différents sites/articles du Net, sans chance. Certains articles, semblent en fait entrer en conflit avec d'autres articles! J'ai également regardé par-dessus les publications Staclflow à ce sujet, mais je manque toujours quelque chose ... aussi parler à quelques personnes sur IRC (Centos/Postfix) et avez toujours des questions ..

Donc, je me tourne à nouveau vers Serverfault, encore une fois!

S'il y a quelqu'un qui a réussi à accomplir cela, diriez-vous de poster votre MAINL.CF, SASL-PASSWD et tout autre fichier Conf que vous utilisez pour obtenir ce travail! Si vous pouvez examiner vos fichiers de configuration, je peux, espérons-je, voir où j'ai foiré et déterminera comment corriger le problème.

Merci de lire ceci et de toute aide/pointeurs que vous fournissez!

pS, s'il y a une comptabilisation d'empilement qui lui parle que j'aurais peut-être manqué, n'hésitez pas à me le signaler!

-à M

9
tom smith

Bien que je n'ai pas essayé de relâcher un fournisseur à l'aide du port de soumission (587), cela devrait être possible. Pour activer Postfix à relais, vous devez configurer un fichier avec les informations d'identification authentifiées à utiliser et apporter quelques modifications à votre fichier de configuration /etc/postfix/main.cf.

Le premier est les informations d'authentification. Pour cela, j'utilise simplement /etc/postfix/sasl_passwd que j'ajoute la ligne appropriée à l'aide du modèle:

smtp.provider.com    smtp_user:smtp_passwd

Vous voudrez être sûr que ce fichier est protégé afin que je recommande root:root propriété et 0600 Les autorisations soient définies. Vous voudrez ensuite exécuter ce qui suit pour créer la version mappée de hachage en tant que root.

postmap hash:/etc/postfix/sasl_passwd

Avec cela à l'écart, tournez votre attention, allez le /etc/postfix/main.cf Vous pouvez trouver certaines des valeurs déjà définies pour que vous puissiez les modifier en conséquence, mais les détails importants sont les suivants:

smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options =
smtp_tls_security_level = may

Celles-ci permettront au postfix d'être en mesure d'utiliser le fichier SASL_PASSWD pour s'authentifier lors de l'envoi de courrier. Vous aurez ensuite besoin de dire Postfix qu'il doit utiliser le fournisseur pour envoyer le courrier en ajoutant la configuration.

relayhost = smtp.provider.com:port

Par défaut, Postfix assume le port 25 Si vous ne spécifiez pas et cela a fonctionné pour moi dans le passé. Avec votre configuration demandée, vous devez spécifier 587 comme port. Avec qui dit que je ne suis pas sûr que vous devez modifier l'entrée SASL_PASPETWD pour être smtp.provider.com:587 au lieu de simplement smtp.provider.com Comme je n'ai pas essayé de faire cela sur une non-valeur. portez-vous avant de pouvoir l'essayer pour vous-même.

Ces seuils de configuration manipulent le transfert de messagerie sur plusieurs serveurs que je maintiens via un serveur de messagerie central.

mis à jour pour inclure l'exemple de fonctionnement complet

Il s'avère en fait que j'avais configuré mon ordinateur portable Ubuntu (basé sur Debian) pour utiliser le port 587 sur mon fournisseur de messagerie (non-gmail) car mon fournisseur DSL bloque le trafic Port Sortant 25. J'ai mis à jour pour utiliser l'un de mes comptes Gmail pour envoyer votre courrier à la place. Le seul changement que je devais faire

Je suis obscurcissant les données privées mais autrement contempler As-es Configuration de travail pour Postfix.

Nous avons d'abord /etc/postfix/main.cf:

# See /usr/share/postfix/main.cf.dist for a commented, more complete version


# Debian specific:  Specifying a file name will cause the first
# line of that file to be used as the name.  The Debian default
# is /etc/mailname.
#myorigin = /etc/mailname

smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)
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
smtp_tls_security_level = may

# See /usr/share/doc/postfix/TLS_README.gz in the postfix-doc package for
# information on enabling SSL in the smtp client.

myhostname = example.com
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
mydestination = solitare, localhost.localdomain, , localhost
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
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options =

Ensuite, nous avons /etc/postfix/sasl_passwd:

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

J'ai ensuite couru la session SMTP suivante:

jbouse@solitare:~$ telnet localhost 25
Trying 127.0.0.1...
Connected to solitare.
Escape character is '^]'.
220 example.com ESMTP Postfix (Ubuntu)
helo localhost
250 example.com
mail from: [email protected]
250 2.1.0 Ok
rcpt to: [email protected]
250 2.1.5 Ok
data
354 End data with <CR><LF>.<CR><LF>
To: [email protected]
From: [email protected]
Subject: Testing Postfix smarthost via Gmail
this is just a test
.
250 2.0.0 Ok: queued as 6269B280191
quit
221 2.0.0 Bye
Connection closed by foreign Host.

Ensuite, je me connecte à mon compte myotherusername gmail et lisez le message:

Return-Path: <[email protected]>
Received: from example.com (mydslproviderhostname.net [x.x.x.229])
        by mx.google.com with ESMTPS id 6sm401663ywd.11.2010.03.04.19.19.58
        (version=TLSv1/SSLv3 cipher=RC4-MD5);
        Thu, 04 Mar 2010 19:19:58 -0800 (PST)
Sender: "Jeremy Bouse" <[email protected]>
Received: from localhost (solitare [127.0.0.1])
    by example.com (Postfix) with SMTP id 6269B280191
    for <[email protected]>; Thu,  4 Mar 2010 22:17:39 -0500 (EST)
To: [email protected]
From: [email protected]
Subject: Testing Postfix smarthost via Gmail
Message-Id: <[email protected]>
Date: Thu,  4 Mar 2010 22:17:39 -0500 (EST)

this is just a test

Après avoir montré mes 13 ans en tant qu'administrateur de systèmes ne sont pas gaspillés, j'ai envoyé un courrier électronique de mon ordinateur portable via Gmail sans avoir à générer un certificat X.509 auto-signé, d'autres que d'autres vous le diront. L'ajout de clé au /etc/postfix/main.cf est le paramètre smtp_tls_security_level réglage sur ((( peut Pour dire Postfix qu'il est correct de délivrer la commande [~ # ~ # ~] [~ # ~] Commande lors de la connexion à une autre MTA si elle prend en charge TLS. Si vous oubliez le paramètre smtp_tls_security_level Vous pouvez voir une entrée dans votre /var/log/mail.log dans le sens de:

Mar  4 22:10:58 solitare postfix/smtp[19873]: 20E07280191: to=<[email protected]>, relay=smtp.gmail.com[74.125.47.109]:587, delay=38, delays=38/0.03/0.08/0.01, dsn=5.7.0, status=bounced (Host smtp.gmail.com[74.125.47.109] said: 530 5.7.0 Must issue a STARTTLS command first. 20sm399188ywh.48 (in reply to MAIL FROM command))

Cependant, avec elle correctement, vous devriez voir quelque chose dans le sens de:

Mar  4 22:20:00 solitare postfix/smtp[20313]: 6269B280191: to=<[email protected]>, relay=smtp.gmail.com[74.125.47.109]:587, delay=141, delays=110/29/0.36/1.9, dsn=2.0.0, status=sent (250 2.0.0 OK 1267759200 6sm401663ywd.11)
16
Jeremy Bouse