Estou tendo problemas para receber e-mails recebidos no PostFix

Estou tendo problemas para receber e-mails recebidos no PostFix

Eu sinto que fico confuso quando faço perguntas nesses sites (superusuário/stackoverflow/serverfault), então, desculpe-me se minha pergunta estiver no lugar errado e aponte-a para mim e ficarei feliz em movê-la para outro lugar. .

Durante toda a minha vida, não posso receber nenhum e-mail enviado da minha conta do Gmail para o meu servidor Ubuntu. Estou usando o postfix como meu MTA e no início segui precisamente essas instruções porque elas pareciam ser a abordagem mais direta e geral, mas nunca consegui enviar um e-mail para minha conta do Gmail com estas instruções (falhou): https://help.ubuntu.com/lts/serverguide/postfix.html

Depois de muitas e muitas horas pesquisando e tentando novamente, me deparei com essa pergunta aleatoriamente, e muitas pessoas nos comentários da resposta afirmaram que isso realmente as ajudou, então pensei em tentar. Quando suas instruções não funcionaram, recebi mensagens de erro semelhantes às dele e, eventualmente, consegui que estas instruções funcionassem (de certa forma): https://serverfault.com/questions/119278/configure-postfix-to-send-relay-emails-gmail-smtp-gmail-com-via-port-587

Infelizmente - as instruções acima enviam apenas e-mail (do meu linux/ubuntu) para o meu gmail. Meu maior desejo é receber e-mails enviados do meu gmail para o meu linux/ubuntu.Pode ser útil observarque meu Ubuntu é um servidor web local executado em meu laptop Macintosh.

EDITAR:Acho importante afirmar que estou usando o Ubuntu em uma VM apontada por um serviço de DNS dinâmico (freedns.afraid.org) porque não tenho um IP estático, visto que esta é uma configuração de desenvolvedor.

Aqui estão meus arquivos main.cf e master.cf para você escolher. Qualquer ajuda que você gostaria de me oferecer seria muito apreciada.

principal.cf:

NOTA: você notará que minhas linhas #smtpd_tls_key_file e #smtpd_tls_cert_file estão comentadas. No início, fiquei cansado disso, mas o respondente nas instruções que segui explica por que elas podem ser omitidas para simplificar.

Sua explicação é a seguinte:

Agora, tendo mostrado que meus 13 anos como administrador de sistemas não foram desperdiçados, envio e-mails do meu laptop através do Gmail sem a necessidade de gerar um certificado x.509 autoassinado, como outros diriam. A principal adição ao /etc/postfix/main.cf é a configuração smtp_tls_security_level para informar ao Postfix que não há problema em emitir o comando STARTTLS ao conectar-se a outro MTA se ele suportar TLS.

Não estou apegado a tê-los comentados e estou disposto a usar chaves e certificados, mas funciona sem eles por enquanto e mantém as coisas simples. Eu estava apenas seguindo o que funcionou.

# 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 = < my FQDN >
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
mydestination = < my FQDN >
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 =

Aqui está meu arquivo master.cf, a única alteração que fiz neste arquivo foi

smtp      inet  n       -       n       -       -       smtpd

aquela linha ^ era originalmente esta

smtp      inet  n       -       -       -       -       smtpd

para ser totalmente honesto, não sei muito sobre o que essa pequena diferença faz, mas foi recomendada em muitas das instruções que li e ainda não fez diferença na combinação de envio/recebimento de correspondência.

conforme prometido, meu arquivo master.cf:

#
# Postfix master process configuration file.  For details on the format
# of the file, see the master(5) manual page (command: "man 5 master" or
# on-line: http://www.postfix.org/master.5.html).
#
# Do not forget to execute "postfix reload" after editing this file.
#
# ==========================================================================
# service type  private unpriv  chroot  wakeup  maxproc command + args
#               (yes)   (yes)   (yes)   (never) (100)
# ==========================================================================
smtp      inet  n       -       n       -       -       smtpd
#smtp      inet  n       -       -       -       1       postscreen
#smtpd     pass  -       -       -       -       -       smtpd
#dnsblog   unix  -       -       -       -       0       dnsblog
#tlsproxy  unix  -       -       -       -       0       tlsproxy
#submission inet n       -       -       -       -       smtpd
#  -o syslog_name=postfix/submission
#  -o smtpd_tls_security_level=encrypt
#  -o smtpd_sasl_auth_enable=yes
#  -o smtpd_reject_unlisted_recipient=no
#  -o smtpd_client_restrictions=$mua_client_restrictions
#  -o smtpd_helo_restrictions=$mua_helo_restrictions
#  -o smtpd_sender_restrictions=$mua_sender_restrictions
#  -o smtpd_recipient_restrictions=
#  -o smtpd_relay_restrictions=permit_sasl_authenticated,reject
#  -o milter_macro_daemon_name=ORIGINATING
#smtps     inet  n       -       -       -       -       smtpd
#  -o syslog_name=postfix/smtps
#  -o smtpd_tls_wrappermode=yes
#  -o smtpd_sasl_auth_enable=yes
#  -o smtpd_reject_unlisted_recipient=no
#  -o smtpd_client_restrictions=$mua_client_restrictions
#  -o smtpd_helo_restrictions=$mua_helo_restrictions
#  -o smtpd_sender_restrictions=$mua_sender_restrictions
#  -o smtpd_recipient_restrictions=
#  -o smtpd_relay_restrictions=permit_sasl_authenticated,reject
#  -o milter_macro_daemon_name=ORIGINATING
#628       inet  n       -       -       -       -       qmqpd
pickup    unix  n       -       -       60      1       pickup
cleanup   unix  n       -       -       -       0       cleanup
qmgr      unix  n       -       n       300     1       qmgr
#qmgr     unix  n       -       n       300     1       oqmgr
tlsmgr    unix  -       -       -       1000?   1       tlsmgr
rewrite   unix  -       -       -       -       -       trivial-rewrite
bounce    unix  -       -       -       -       0       bounce
defer     unix  -       -       -       -       0       bounce
trace     unix  -       -       -       -       0       bounce
verify    unix  -       -       -       -       1       verify
flush     unix  n       -       -       1000?   0       flush
proxymap  unix  -       -       n       -       -       proxymap
proxywrite unix -       -       n       -       1       proxymap
smtp      unix  -       -       -       -       -       smtp
relay     unix  -       -       -       -       -       smtp
#       -o smtp_helo_timeout=5 -o smtp_connect_timeout=5
showq     unix  n       -       -       -       -       showq
error     unix  -       -       -       -       -       error
retry     unix  -       -       -       -       -       error
discard   unix  -       -       -       -       -       discard
local     unix  -       n       n       -       -       local
virtual   unix  -       n       n       -       -       virtual
lmtp      unix  -       -       -       -       -       lmtp
anvil     unix  -       -       -       -       1       anvil
scache    unix  -       -       -       -       1       scache
#
# ====================================================================
# Interfaces to non-Postfix software. Be sure to examine the manual
# pages of the non-Postfix software to find out what options it wants.
#
# Many of the following services use the Postfix pipe(8) delivery
# agent.  See the pipe(8) man page for information about ${recipient}
# and other message envelope options.
# ====================================================================
#
# maildrop. See the Postfix MAILDROP_README file for details.
# Also specify in main.cf: maildrop_destination_recipient_limit=1
#
maildrop  unix  -       n       n       -       -       pipe
  flags=DRhu user=vmail argv=/usr/bin/maildrop -d ${recipient}
#
# ====================================================================
#
# Recent Cyrus versions can use the existing "lmtp" master.cf entry.
#
# Specify in cyrus.conf:
#   lmtp    cmd="lmtpd -a" listen="localhost:lmtp" proto=tcp4
#
# Specify in main.cf one or more of the following:
#  mailbox_transport = lmtp:inet:localhost
#  virtual_transport = lmtp:inet:localhost
#    
# ====================================================================
#
# Cyrus 2.1.5 (Amos Gouaux)
# Also specify in main.cf: cyrus_destination_recipient_limit=1
#
#cyrus     unix  -       n       n       -       -       pipe
#  user=cyrus argv=/cyrus/bin/deliver -e -r ${sender} -m ${extension}
${user}
#
# ====================================================================
# Old example of delivery via Cyrus.
#
#old-cyrus unix  -       n       n       -       -       pipe
#  flags=R user=cyrus argv=/cyrus/bin/deliver -e -m ${extension} ${user}
#
# ====================================================================
#
# See the Postfix UUCP_README file for configuration details.
#
uucp      unix  -       n       n       -       -       pipe
  flags=Fqhu user=uucp argv=uux -r -n -z -a$sender - $nexthop!rmail ($recipient)
#
# Other external delivery methods.
#
ifmail    unix  -       n       n       -       -       pipe
  flags=F user=ftn argv=/usr/lib/ifmail/ifmail -r $nexthop ($recipient)
bsmtp     unix  -       n       n       -       -       pipe
  flags=Fq. user=bsmtp argv=/usr/lib/bsmtp/bsmtp -t$nexthop -f$sender     $recipient
scalemail-backend unix  -   n   n   -   2   pipe
  flags=R user=scalemail argv=/usr/lib/scalemail/bin/scalemail-store     ${nexthop} ${user} ${extension}
mailman   unix  -       n       n       -       -       pipe
  flags=FR user=list argv=/usr/lib/mailman/bin/postfix-to-mailman.py
  ${nexthop} ${user}

Qualquer ajuda ou esclarecimento sobre o que pode ter funcionado para você seria ótimo, obrigado!

informação relacionada