문제:웹 사이트 사용자가 이메일로 전송되는 메시지를 제출할 수 있는 문의 양식을 만듭니다. PHP mail()
와 Postfix를 사용하세요. Postfix를 사용하거나 이해하는 데 문제가 있습니까? 설정이 잘못된 것 같습니다. 외부 메일 서버( )에 이메일을 표시할 수 없습니다 .echo "hello, world" | mail [email protected]
설정:등록된 도메인 이름(동적 DNS) 없이 포트 전달을 통해 비전용 Raspberry Pi 3B+에서 Postfix를 실행합니다. 보다실제 인터넷 호스트 이름이 없는 호스트의 접미사그리고 README.html의 다른 섹션... 여기에 무엇이 적용되는지 잘 모르겠습니다. 메일을 받기 위해 Postfix가 필요하지 않습니까? 참고: Postfix 설정 중에 문자 그대로 mail.example.com
FQDN을 입력했습니다 . 내가 알 수 있듯이 smtp.gmail.com
그것은Postfix를 통한 외부 MTA? 이것이 제가 따르려고 했던 튜토리얼입니다... 그래서 여기에 설명된 SASL 파일이 있습니다.설정 측면에서 다른 작업을 많이 수행하지 않았습니다.을 사용하면 telnet smtp.gmail.com 25
둘 telnet smtp.gmail.com 587
다 시간 초과가 발생합니다.
구성:
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
또한:
$ 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
참고자료:Raspberry Pi를 다음과 함께 사용하는 것에 대한 논의가 있습니다.sendmail
여기(저는 사용하려고 하지 않지만 sendmail
설정을 고려하는 것이 도움이 될 수 있습니다).
이전 답변에서는 "Gmail을 사용하여 메일을 보내도록 postfix 구성유망해 보입니다. 대부분의 공개 이메일 시스템(Gmail, Outlook 등)은 smtp 릴레이를 허용하지 않거나 보안을 구성해야 합니다. 그렇지 않으면 스패머는 메일 서버를 완전히 넘치게 될 것입니다!"
더 이상의 의견을 보내 주시면 감사하겠습니다.