Configurare Postfix per submit / submit messaggi di posta elettronica Gmail (smtp.gmail.com) tramite port 587

Utilizzando Centos 5.4, con Postfix. Posso fare un

mail foo@gmail.com subject: blah test . Cc: 

e il msg viene inviato a gmail, ma risiede nella cartella spam, che è prevedibile.

Il mio objective è quello di poter generare messaggi di posta elettronica e di visualizzarli nella casella di posta ordinaria! Come ho capito Postfix / Gmail, è ansible configurare Postfix per submit / submit la posta tramite l'utente autenticato / valido utilizzando la port 587, che non avrebbe più la posta da vedere come spam.

Ho provato un certo numero di parametri basati su siti / articoli diversi dalla networking, senza fortuna. Alcuni degli articoli, in realtà sembrano in conflitto con altri articoli! Ho anche guardato i post di stacflow su questo, ma manca ancora qualcosa … Ha anche parlato con alcune persone su IRC (Centos / Postfix) e hanno ancora domande ..

Quindi, mi rivolgo a Serverfault, ancora una volta!

Se c'è qualcuno che è riuscito a farlo, ti preoccuperebbe di pubblicare il tuo main.cf, sasl-passwd e qualsiasi altro file conf utilizzato per get questo lavoro! Se posso rivedere i file di configuration, posso sperare di vedere where ho avvisato, e capire come risolvere il problema.

Grazie per aver letto questo e tutti i suggerimenti / aiuto forniti!

ps, Se c'è un post di stackflops che parla a questo che potrei aver perso, non esitate a sottoporti a me!

-tom

  • Consegna temporanea sospesa: Nome host o dominio non trovato
  • Postfix consente solo agli utenti autenticati
  • Postfix: Come accettare email da un dominio specifico non esistente?
  • Perché ci sono tanti file in / var / spool / postfix / maildrop
  • È ansible impostare Postfix per applicare TLS sull'e-mail in arrivo solo da determinati domini o IP?
  • Postfix pipe a php e passare "a" indirizzo email come parametro
  • Come posso bloccare un indirizzo email in Postfix?
  • Hybrid gmail MX + postfix per account locali
  • One Solution collect form web for “Configurare Postfix per submit / submit messaggi di posta elettronica Gmail (smtp.gmail.com) tramite port 587”

    Mentre non ho cercato di passare attraverso un provider che utilizza la port di presentazione (587), dovrebbe essere ansible. Per abilitare Postfix a relè, è necessario impostare un file con le credenziali autenticate da utilizzare e apportre alcune modifiche al /etc/postfix/main.cf configuration /etc/postfix/main.cf .

    La prima è la credenziali di authentication. Per questo uso semplicemente /etc/postfix/sasl_passwd che aggiungo la row appropriata usando il template:

     smtp.provider.com smtp_user:smtp_passwd 

    Vorresti essere sicuro che questo file sia protetto in modo da consiglio di root:root properties; di root:root e le autorizzazioni 0600 essere impostato su di esso. Vorresti quindi eseguire quanto segue per creare la versione mappata hash come root.

     postmap hash:/etc/postfix/sasl_passwd 

    Con questo fuori strada, ruotare l'attenzione su /etc/postfix/main.cf puoi trovare alcuni dei valori già impostati in modo da cambiarli in modo appropriato, ma i dettagli importnti sono i seguenti:

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

    Questi consentiranno a Postfix di poter utilizzare il file sasl_passwd per l'authentication quando si invia la posta. Dovresti quindi sapere a Postfix che dovrebbe utilizzare il provider per submit la posta aggiungendo la configuration

     relayhost = smtp.provider.com:port 

    Per impostazione predefinita Postfix assume la port 25 se non si specifica e questo ha funzionato per me in passato. Con la configuration richiesta sarà necessario specificare 587 come port. Con quello detto non sono sicuro se dovrai modificare la voce sasl_passwd per essere smtp.provider.com:587 anziché semplicemente smtp.provider.com poichè non ho provato a fare questo su una port non predefinita prima quindi dovrai provarlo per te stesso.

    Questi passaggi di configuration da sola stanno gestendo l'inoltro della posta in diversi server che gestisco tramite un server di posta centrale.

    Aggiornato per includere l'esempio completo

    In realtà si scopre che avrei configurato il mio computer porttile Ubuntu (Debian-based) per utilizzare la port 587 sul mio provider di posta elettronica (non-Gmail) poiché il mio provider DSL blocca il traffico di porto 25 in output. Ho aggiornato l'utilizzo di uno dei miei account Gmail per submit invece la posta. L'unica modifica che wherevo fare

    Sto oscurando i dati privati ​​ma incollando altrimenti come è la configuration di lavoro per Postfix.

    In primo luogo abbiamo /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 = 

    Avanti abbiamo /etc/postfix/sasl_passwd :

     smtp.gmail.com:587 myusername@gmail.com:mypassword 

    Ho quindi eseguito la seguente session SMTP:

     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: jbouse@example.com 250 2.1.0 Ok rcpt to: myotherusername@gmail.com 250 2.1.5 Ok data 354 End data with <CR><LF>.<CR><LF> To: myotherusername@gmail.com From: jbouse@example.com 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. 

    Poi myotherusername mio myotherusername Gmail myotherusername e leggo il messaggio:

     Return-Path: <myotherusername@gmail.com> Received: from example.com (mydslproviderhostname.net [xxx229]) 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" <myotherusername@gmail.com> Received: from localhost (solitare [127.0.0.1]) by example.com (Postfix) with SMTP id 6269B280191 for <myotherusername@gmail.com>; Thu, 4 Mar 2010 22:17:39 -0500 (EST) To: myotherusername@gmail.com From: jbouse@example.com Subject: Testing Postfix smarthost via Gmail Message-Id: <20100305031745.6269B280191@example.com> Date: Thu, 4 Mar 2010 22:17:39 -0500 (EST) this is just a test 

    Ora che ho mostrato i miei 13 anni come amministratore di sisthemes non vengono sprecati ho submit email dal mio computer porttile tramite Gmail senza bisogno di generare un certificato x.509 auto-firmato come altri ti direbbero. L'aggiunta della chiave a /etc/postfix/main.cf è l'impostazione smtp_tls_security_level per poter dire a Postfix che è opportuno emettere il command STARTTLS quando si connette ad un altro MTA se support TLS. Se si dimentica l'impostazione smtp_tls_security_level si può vedere una voce nel tuo /var/log/mail.log lungo le righe di:

     Mar 4 22:10:58 solitare postfix/smtp[19873]: 20E07280191: to=<myotherusername@gmail.com>, 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)) 

    Tuttavia con esso impostato correttamente si dovrebbe vedere qualcosa lungo le righe di:

     Mar 4 22:20:00 solitare postfix/smtp[20313]: 6269B280191: to=<myotherusername@gmail.com>, 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) 
    Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.