Problema:Crie um formulário de contato que permita aos usuários de um site enviar mensagens que serão enviadas para um email. Use php mail()
e Postfix. Está tendo problemas para usar/entender o Postfix? A configuração deve estar incorreta - não consigo fazer com que o e-mail apareça em um servidor de e-mail externo ( ).echo "hello, world" | mail [email protected]
Configurar:Executando o Postfix em um Raspberry Pi 3B+ não dedicado em um encaminhamento de porta sem um nome de domínio registrado (DNS dinâmico). VerPostfix em hosts sem um nome de host real da Internete outras seções do README.html... Não tenho certeza do que se aplica aqui. Não preciso do Postfix para receber mensagens? Nota: durante a configuração do Postfix eu literalmente entrei mail.example.com
como FQDN. Pelo que posso dizer, pode ser algo para usar smtp.gmail.com
comoMTA externo através do Postfix? Esse é o tutorial que tentei seguir... então tenho os arquivos SASL que ele descreve.Não fiz muito mais em termos de configuração.Usando telnet smtp.gmail.com 25
e telnet smtp.gmail.com 587
ambos obtêm um tempo limite.
Configuração:
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
Também:
$ 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
Referências:Há uma discussão sobre o uso de um Raspberry Pi comsendmail
aqui(Não estou tentando usar, sendmail
mas talvez seja útil considerar sua configuração).
Uma resposta anterior sugeriu que "configurando o postfix para enviar e-mail usando o Gmailparece promissor. A maioria dos sistemas de e-mail públicos (Gmail, Outlook, etc.) não permite a retransmissão SMTP ou você precisa configurá-los para sua segurança. Sem isso, os spammers inundariam completamente os seus servidores de e-mail!"
Quaisquer pensamentos adicionais são apreciados.