Amazon의 원격 서버에 우분투 서버가 설치되어 있습니다.
우분투 시스템에서 구성한 사용자/비밀번호별로 원격 연결을 통해 이메일을 보내도록 허용하려고 합니다. 내 시스템의 각 사용자가 자신의 자격 증명을 사용하여 이메일을 보낼 수 있다는 의미입니다.
먼저 Amazon 방화벽에서 포트 25를 열었습니다.
그런 다음 다음 파일을 구성했습니다.
postfix의 master.cf
다음 줄을 추가했습니다.
submission inet n - - - - smtpd
-o syslog_name=postfix/submission
-o smtpd_tls_wrappermode=no
-o smtpd_tls_security_level=encrypt
-o smtpd_sasl_auth_enable=yes
-o smtpd_recipient_restrictions=permit_mynetworks,permit_sasl_authenticated,reject
-o milter_macro_daemon_name=ORIGINATING
-o smtpd_sasl_type=dovecot
-o smtpd_sasl_path=private/auth
그런 다음 dovecot을 구성했지만 /etc/dovecot/conf.d/10-auth.conf에 다음 줄을 추가했습니다.
disable_plaintext_auth = no
service auth {
unix_listener /var/spool/postfix/private/auth {
group = postfix
mode = 0660
user = postfix
}
}
ssl=required
ssl_cert = </etc/ssl/certs/mailcert.pem
ssl_key = </etc/ssl/private/mail.key
그리고 이것은 게시물의 내 main.cf입니다.
smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)
biff = no
append_dot_mydomain = no
readme_directory = no
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.
myhostname = ip-172-31-42-234.us-west-2.compute.internal
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination = tux-in.com, ip-172-31-42-234.us-west-2.compute.internal, localhost.us-west-2.compute.internal, localhost, myalcoholist.com, myalcohollist.com
virtual_alias_domains = myalcoholist.com myalcohollist.com tux-in.com
virtual_alias_maps = hash:/etc/postfix/virtual
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
smtpd_sasl_local_domain = $myhostname
broken_sasl_auth_clients = yes
relayhost =
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
home_mailbox = Maildir/
mailbox_command =
local_recipient_maps = proxy:unix:passwd.byname $alias_maps
좋아요.. 지금까지는 아주 좋습니다... 저는 비둘기장을 설치했고 imap과 pop3 서버를 갖고 있고 이메일을 성공적으로 검색할 수 있습니다.
이제 Amazon의 smtp 서버에 연결하고 이메일을 보내도록 osx 데스크탑에서 이메일 클라이언트를 구성하고 싶습니다.
내가 겪고 있는 문제는 외부에서 smtp 서버에 연결할 수 없다는 것입니다. 텔넷을 시도할 때 연결 시간이 초과되었습니다. 로컬 서버에서 포트 25의 127.0.0.1로 텔넷을 연결할 수 있습니다. 확인하고 inet 인터페이스가 모두 구성되었으며 Amazon 방화벽에서 포트 25를 열었으므로 염두에 두어야 할 유일한 것은 다음과 같습니다. 어떤 이유로 postfix 자체가 외부 연결을 차단하고 있습니다.
postfix가 외부 연결을 차단하는 경우 구성에서 뭔가를 놓쳤습니다.
여기서 길을 잃었습니다. 문제에 관한 정보를 주시면 대단히 감사하겠습니다.
답변1
제출은 TCP/587입니다. smtp는 TCP/25입니다.
방화벽 문제인 것 같습니다. AWS 지원팀에 포트 25 개방을 요청해야 할 수도 있습니다. 587에 텔넷을 연결하고 로컬 사서함에 인증된 이메일을 보낼 수 있는지 테스트합니다.
587의 릴레이 호스트를 통해 보내고 타사 스팸 필터를 통해 2525와 같은 대체 포트에서 검색하는 경우에도 이메일이 작동할 수 있습니다.