เอกสารอ้างว่าฉันสามารถเพิ่มนามแฝงในไฟล์ (เช่น /etc/postfix/virtusertable) จากนั้นใช้คำสั่ง "virtual_maps" เพื่อชี้ไปที่ไฟล์นั้น นี้ดูเหมือนจะไม่ทำงานอย่างไรก็ตาม

จดหมายของฉันตีกลับด้วย:

Recipient address rejected: User unknown in local recipient table;

ถ้าฉันส่งผู้ใช้จากเซิร์ฟเวอร์โดยใช้คำสั่ง mail มันใช้งานได้

mail myuser

ข้อความจะผ่าน postfix และแทรกตัวเองในกล่องจดหมายของ Cyrus อย่างถูกต้อง

เมื่อฉันใช้ fetchmail เพื่อเอาข้อความของผู้ใช้ออกจากเซิร์ฟเวอร์ pop3 postfix ล้มเหลว อีเมลของผู้ใช้คือ " [email protected] " แต่ดูเหมือนว่าจะจับคู่กับ" myuser " ไม่ถูกต้อง ซึ่งเป็นชื่อเมลบ็อกซ์ของไซรัส



/etc/postfix/main.cf

myhostname = localhost
alias_maps = hash:/etc/aliases
alias_database = hash:/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 = all
mailbox_transport = lmtp:unix:/var/run/cyrus/socket/lmtp
#lmtp:unix:/var/run/lmtp
virtual_alias_domains = mydomain.com
virtual_maps = hash:/etc/postfix/virtusertable



/etc/fetchmailrc

et syslog;
set daemon 20;

poll "mail.pop3server.com"
with protocol pop3
user "[email protected]" password "12345" is "myuser"
fetchall keep



/etc/postfix/virtusertable

[email protected]     myuser



postconf - n

alias_database = hash:/etc/aliases
alias_maps = hash:/etc/aliases
append_dot_mydomain = no
biff = no
config_directory = /etc/postfix
inet_interfaces = all
mailbox_size_limit = 0
mailbox_transport = lmtp:unix:/var/run/cyrus/socket/lmtp
mydestination = localhost 
myhostname = localhost
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
myorigin = /etc/mailname
readme_directory = no
recipient_delimiter = +
relayhost = 
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)
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 = yes
virtual_alias_domains = mydomain.com

เหตุใดจึงละเว้นนามแฝงของฉัน

answer

ชื่อแทนท้องถิ่นจะเข้าสู่

alias_database = hash:/etc/aliases(ไม่ใช่ใน/etc/postfix/virtusertable) ในรูปแบบต่อไปนี้:

alias: destination. newaliasesหลังจากที่ทำงาน

เพิ่งพบปัญหานี้... และพบว่าผิดปกติพอที่ปัญหาของฉันไม่เกี่ยวข้องกับไซรัส...

เนื่องจากฉันสามารถส่งโดยตรงรวมถึงที่อยู่ "+" แต่ที่อยู่นามแฝงถูกปฏิเสธ ... FYI ที่ฉันพบคือที่อยู่นามแฝงกำลังถูกเขียนใหม่ [myalias]กลายเป็น[[email protected]]

ดังนั้นจนกว่าฉันจะหาวิธีปิดการขยายหรือเปลี่ยนเป็น drop [myhost]วิธีแก้ปัญหาคือขยายในไฟล์นามแฝง[[email protected]]แทน[myalias]

ในที่สุดก็สะดุดเมื่อในที่สุดฉันก็สังเกตเห็นบันทึกที่แสดงFQDNแทนที่จะเป็นเพียงโดเมนอย่างที่ฉันเคยทำใน sendmail