Problema:Cree un formulario de contacto que permita a los usuarios de un sitio web enviar mensajes que se envían a un correo electrónico. Utilice PHP mail()
y Postfix. ¿Tiene problemas para usar o comprender Postfix? La configuración debe ser incorrecta: no puedo hacer que el correo electrónico aparezca en un servidor de correo externo ( ).echo "hello, world" | mail [email protected]
Configuración:Ejecutar Postfix en una Raspberry Pi 3B+ no dedicada a través de un reenvío de puerto sin un nombre de dominio registrado (DNS dinámico). VerPostfix en hosts sin un nombre de host de Internet realy otras secciones del README.html... No estoy seguro de qué se aplica aquí. ¿No necesito Postfix para recibir correo? Nota: durante la configuración de Postfix, literalmente ingresé mail.example.com
como FQDN. Por lo que puedo decir, podría ser algo para usar smtp.gmail.com
comoMTA externo a través de Postfix? Ese es el tutorial que intenté seguir... así que tengo los archivos SASL que describe.No he hecho mucho más en términos de configuración.Usando telnet smtp.gmail.com 25
y telnet smtp.gmail.com 587
ambos obtienen un tiempo de espera.
Configuración:
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 (Raspbian)
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
# See http://www.postfix.org/COMPATIBILITY_README.html -- default to 2 on
# fresh installs.
compatibility_level = 2
# 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
# See /usr/share/doc/postfix/TLS_README.gz in the postfix-doc package for
# information on enabling SSL in the smtp client.
smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination
myhostname = mail.example.com
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination = $myhostname, mail.example.com, raspberrypi, 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
inet_protocols = all
# Enable SASL auth
smtp_sasl_auth_enable = yes
# Disallow methods that allow anonymous authentication
smtp_sasl_security_options = noanonymous
# Directory of sasl_passwd
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
# Enable STARTTLS encryption
smtp_use_tls = yes
# Directory of ca-certs
smtp_tls_CAfile = /etc/ssl/certs/ca-certificates.crt
También:
$ lsb_release -a
No LSB modules are available.
Distributor ID: Raspbian
Description: Raspbian GNU/Linux 9.9 (stretch)
Release: 9.9
Codename: stretch
$ sudo netstat -tulpn
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 127.0.0.1:587 0.0.0.0:* LISTEN 31792/sendmail: MTA
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 31792/sendmail: MTA
Referencias:Hay una discusión sobre el uso de una Raspberry Pi consendmail
aquí(No estoy intentando usarlo sendmail
, pero tal vez sea útil considerar su configuración).
Una respuesta anterior sugirió que "configurar postfix para enviar correo usando gmailparece prometedor. La mayoría de los sistemas de correo electrónico públicos (gmail, Outlook, etc.) no le permiten la retransmisión SMTP o es necesario configurarlos para su seguridad. ¡Sin eso, los spammers inundarían completamente sus servidores de correo!"
Se agradece cualquier otra idea.