Postfix : 이메일 별칭을 어떻게 사용합니까?


11

이 문서에서는 파일에 별칭 (예 : / etc / postfix / virtusertable)을 추가 한 다음 "virtual_maps"지시문을 사용하여이를 가리킬 수 있다고 주장합니다. 그러나 이것은 작동하지 않는 것 같습니다.

내 메일이 수신 거부됩니다.

Recipient address rejected: User unknown in local recipient table;

mail 명령을 사용하여 서버에서 사용자를 메일로 보내면 작동합니다.

mail myuser

메시지는 접미사를 거쳐 Cyrus받은 편지함에 올바르게 삽입됩니다.

fetchmail을 사용하여 pop3 서버에서 사용자의 메시지를 가져 오면 postfix가 실패합니다. 사용자의 이메일은 "myuser@mydomain.com"이지만 사이러스 메일 함 이름 인 "myuser"에 올바르게 맵핑되지 않는 것 같습니다.



/etc/postfix/main.cf

myhostname = 로컬 호스트
alias_maps = 해시 : / etc / aliases
alias_database = 해시 : / etc / aliases
myorigin = / etc / mailname
mydestination = localhost
relayhost =
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [:: 1] / 128
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = 모두
mailbox_transport = lmtp : unix : / var / run / cyrus / socket / lmtp
#lmtp : 유닉스 : / var / run / lmtp
virtual_alias_domains = mydomain.com
virtual_maps = 해시 : / etc / postfix / virtusertable



/ etc / fetchmailrc

et syslog;
세트 데몬 20;

설문 조사 "mail.pop3server.com"
프로토콜 pop3
사용자 "myuser@mydomain.com"비밀번호 "12345"는 "myuser"입니다.
fetchall 유지



/ etc / postfix / virtusertable

myuser@mydomain.com     myuser



postconf -n

alias_database = 해시 : / etc / aliases
alias_maps = 해시 : / etc / aliases
append_dot_mydomain = 아니요
버프 = 아니오
config_directory = / etc / postfix
inet_interfaces = 모두
mailbox_size_limit = 0
mailbox_transport = lmtp : unix : / var / run / cyrus / socket / lmtp
mydestination = localhost 
myhostname = 로컬 호스트
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [:: 1] / 128
myorigin = / etc / mailname
readme_directory = 아니오
recipient_delimiter = +
relayhost = 
smtp_tls_session_cache_database = btree : $ {data_directory} / smtp_scache
smtpd_banner = $ myhostname ESMTP $ mail_name (우분투)
smtpd_tls_cert_file = /etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file = /etc/ssl/private/ssl-cert-snakeoil.key
smtpd_tls_session_cache_database = btree : $ {data_directory} / smtpd_scache
smtpd_use_tls = 예
virtual_alias_domains = mydomain.com

별명을 무시하는 이유는 무엇입니까?

답변:


19

지역 별명은

alias_database = hash:/etc/aliases(이 아닌 /etc/postfix/virtusertable) 다음 형식으로 :

alias: destination. 그 후 newaliases.


"경고 : / etc / aliases, 3 행 : 이름은 로컬이어야합니다"라는 경고가 표시됩니다. "user@mydomain.com : user"항목을 / etc / aliases에 추가했습니다. 사용자는 컴퓨터의 사용자가 아니라 Cyrus 메일 박스 / 사용자입니다.
Nick

2
아니요, 올바른 형식은 사용자입니다 : anotheruser@domain.com, localuser
David Rickman

좋아, 형식을 변경하고 경고가 사라졌지 만 메일이 여전히 수신 거부됩니다. "550-Mailbox unknown"이 표시됩니다.
Nick

Fetchmail이 메시지를 수락하여 Cyrus에 전송하려고 시도하지만 Cyrus가 수신 거부하는 것 같습니다. postfix가 올바른 별칭으로 전송되지 않는다고 생각합니까? 아니면 Cyrus에 자체 별칭 테이블이 필요합니까?
Nick

이 문제를 해결 된 것으로 표시하고 기술적으로 다른 질문이므로 Cyrus 문제에 대한 새 질문을 작성합니다.
Nick

0

방금이 문제에 부딪 쳤고 이상하게도 내 문제가 사이러스와 관련이 없다는 것을 알았습니다 ...

"+"주소를 포함하여 직접 전달할 수 있었지만 별칭 주소는 거부되었습니다 ... FYI 찾은 것은 별칭 주소가 다시 작성되었다는 것입니다. [myalias] [myalias@myhost.mydomain.tld]

확장을 끄거나 [myhost] 드롭으로 변경하는 방법을 알아낼 때까지 해결 방법은 [myalias] 대신 별칭 파일 [myalias@mydomain.tld]에서 확장하는 것이 마침내 FQDN을 표시하는 로그를 발견했을 때 넘어졌습니다. sendmail에서 사용했던 도메인 대신에.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.