regex ที่กล่าวถึงในคำตอบอื่น ๆ ตรงกับส่วนของผู้ใช้ที่อยู่อีเมล ( ล็อกอินในผู้ใช้ @ example.org) นี่คือข้อมูลเพิ่มเติมบางส่วน
ในการใช้ที่อยู่อีเมลแบบเต็มเป็นชื่อผู้ใช้ให้ใช้ regex ต่อไปนี้ (ตัวอย่างเช่นใน/etc/postfix/login_map
):
/^(.*)$/ ${1}
ซึ่งหมายความว่าชื่อผู้ใช้ของคุณจะเป็นที่อยู่อีเมลแบบเต็มของคุณเสมอ ( log-in-user@example.org ) - ไม่มีชื่อผู้ใช้อื่นที่ได้รับอนุญาตให้ส่งจากที่อยู่นั้น - และคุณไม่ต้องอัปเดตไฟล์กำหนดค่า Postfix เพิ่มเติมทุกครั้งที่คุณ เพิ่มผู้ใช้
อาจใช้กับเซิร์ฟเวอร์ที่มีการกำหนดค่าหลายโดเมน ผู้ใช้john.doe@example.comได้รับอนุญาตให้ส่งจากที่อยู่นั้นเท่านั้น แต่ไม่ได้มาจากjohn.doe@example.org (ผู้ใช้และอีเมลที่แตกต่างกันบุคคลอื่น) ชื่อผู้ใช้john.doeน่าจะคลุมเครือในกรณีนี้
นอกจากนี้ยังขึ้นอยู่กับการกำหนดค่าของคุณการตั้งค่า smtpd_sender_login_maps ซึ่งต้องชี้ไปที่ไฟล์นี้อาจอยู่ใน master.cf (แทน main.cf) เอกสาร Dovecotอย่างเป็นทางการมีตัวอย่างดังต่อไปนี้ (ถ้าคุณใช้ SASL / ส่ง):
submission inet n - n - - smtpd
-o smtpd_tls_security_level=encrypt
-o smtpd_sasl_auth_enable=yes
-o smtpd_sasl_type=dovecot
-o smtpd_sasl_path=private/auth
-o smtpd_sasl_security_options=noanonymous
-o smtpd_sasl_local_domain=$myhostname
-o smtpd_client_restrictions=permit_sasl_authenticated,reject
-o smtpd_sender_login_maps=hash:/etc/postfix/virtual
-o smtpd_sender_restrictions=reject_sender_login_mismatch
-o smtpd_recipient_restrictions=reject_non_fqdn_recipient,reject_unknown_recipient_domain,permit_sasl_authenticated,reject
ในตัวอย่างนี้ควรปรับการตั้งค่าให้ชี้ไปที่ไฟล์ที่ถูกต้องและใช้ regex หรือ (ดีกว่า) pcre เป็นชนิด โดยเฉพาะอย่างยิ่งหากไฟล์ที่เรียกว่า "virtual" ถูกใช้เพื่อวัตถุประสงค์อื่นแล้ว (เช่นvirtual_alias_maps ดังที่แสดงในตัวอย่าง Postfix อย่างเป็นทางการ ) ไฟล์อื่นควรใช้สำหรับการจับคู่เข้าสู่ระบบ
จาก:
smtpd_sender_login_maps=hash:/etc/postfix/virtual
ถึง:
smtpd_sender_login_maps=pcre:/etc/postfix/login_map