Email
電子郵件地址標記不適用於 postfix 中的虛擬郵箱
我有自己的電子郵件伺服器,我希望能夠使用動態電子郵件地址標記。我將
recipient_delimiter = +-
指令添加到我的配置並重新啟動後綴,但現在如果我發送電子郵件bob+sometaghere@starbeamrainbowlabs.com
,電子郵件將被退回,並顯示錯誤“未知使用者”。如果我發送電子郵件unknownuser@starbeamrainbowlabs.com
,電子郵件將按預期發送到webmaster
帳戶。這是我的後綴配置:
## These are all default Postfix settings that we won't change alias_maps = hash:/etc/aliases alias_database = hash:/etc/aliases append_dot_mydomain = no biff = no broken_sasl_auth_clients = yes inet_interfaces = all mailbox_command = /usr/lib/dovecot/deliver -c /etc/dovecot/conf.d/01-mail-stack-delivery.conf -m "${EXTENSION}" mailbox_size_limit = 0 myorigin = /etc/mailname readme_directory = no recipient_delimiter = +- relayhost = smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache smtpd_sasl_auth_enable = yes smtpd_sasl_authenticated_header = yes smtpd_sasl_path = private/dovecot-auth smtpd_sasl_security_options = noanonymous smtpd_sasl_local_domain = $myhostname smtpd_sasl_type = dovecot smtpd_tls_auth_only = yes smtpd_tls_received_header = yes smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache tls_random_source = dev:/dev/urandom ## Settings below this line are things we're modifying or adding ## Your mail server identity options myhostname = mail.starbeamrainbowlabs.com #mydestination = localhost, starbeamrainbowlabs.com, # localhost.starbeamrainbowalabs.com # 89.107.190.141 = cross-code central mynetworks = 127.0.0.0/8 192.168.0.0/24 [::ffff:127.0.0.0]/104 [::1]/128 89.107.190.141 ## Customized smtpd paramters smtpd_banner = $myhostname ESMTP smtpd_helo_required = yes smtpd_helo_restrictions = permit_mynetworks, check_helo_access hash:/etc/postfix/helo_access #reject_non_fqdn_helo_hostname, reject_invalid_helo_hostname, #reject_unknown_helo_hostname, #warn_if_reject, # warn us instead of actually blocking them permit smtpd_sender_restrictions = permit_mynetworks, permit_sasl_authenticated, #reject_unknown_sender_domain, reject_sender_login_mismatch smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unknown_client_hostname, reject_unknown_sender_domain, reject_unknown_recipient_domain, reject_unauth_pipelining, reject_unauth_destination, reject_invalid_hostname, reject_non_fqdn_sender smtpd_sender_login_maps = $virtual_mailbox_maps ## Dealing with rejection: use permanent 550 errors to stop retries unknown_address_reject_code = 550 unknown_hostname_reject_code = 550 unknown_client_reject_code = 550 ## customized TLS parameters smtpd_tls_ask_ccert = yes smtpd_tls_cert_file = /etc/ssl/private/chain/www-mail.starbeamrainbowlabs.com.pem smtpd_tls_key_file = /etc/ssl/private/key/decrypted/www-mail.starbeamrainbowlabs.com.key smtpd_tls_CAfile = /etc/ssl/certs/ca-certificates.crt smtpd_tls_ciphers = high smtpd_tls_loglevel = 1 smtpd_tls_security_level = may smtpd_tls_session_cache_timeout = 3600s ## Customized Dovecot and virtual user-specific settings canonical_maps = hash:/etc/postfix/canonical home_mailbox = Maildir/ message_size_limit = 104857600 virtual_alias_maps = hash:/etc/postfix/virtual virtual_mailbox_domains = hash:/etc/postfix/virtual-mailbox-domains virtual_mailbox_maps = hash:/etc/postfix/virtual-mailbox-users virtual_transport = dovecot ## This setting will generate an error if you restart Postfix before ## adding the appropriate service definition in master.cf, so make ## sure to get that taken care of! dovecot_destination_recipient_limit = 1 ## Customized milter settings milter_default_action = accept milter_connect_macros = j {daemon_name} v {if_name} _ non_smtpd_milters = $smtpd_milters smtpd_milters = inet:127.0.0.1:11444 unix:/opendkim/opendkim.sock ## Other customized mail server settings default_destination_concurrency_limit = 5 disable_vrfy_command = yes relay_destination_concurrency_limit = 1 smtp_tls_note_starttls_offer = yes smtp_tls_security_level = may
從
/etc/postfix/master.cf
,我有這個定義的 Dovecot:dovecot unix - n n - - pipe flags=DRhu user=vmail:vmail argv=/usr/lib/dovecot/deliver -f ${sender} -d ${recipient}
我也有 , , , , , , 和一堆其他的定義
ifmail
,bsmtp
但scalemail-backend
我mailman
不uucp
完全scache
確定maildrop
它們都做了什麼。有誰知道這裡發生了什麼以及我該如何解決它?
我正在使用虛擬郵箱。
在
/etc/postfix/master.cf
配置文件中,確保配置參數dovecot
引用的服務定義virtual_transport
設置為在呼叫/usr/lib/dovecot/deliver
.例如,這可能不起作用,因為
${recipient}
它將被bob+sometaghere@starbeamrainbowlabs.com
Postfix 的pipe(8)服務擴展為:dovecot unix - n n - - pipe flags=DRhu user=dovecot:dovecot argv=/usr/lib/dovecot/deliver -f ${sender} -d ${recipient}
在這種情況下,
${recipient}
宏應替換為${user}@${domain}
,以便 Dovecot 傳遞代理bob@starbeamrainbowlabs.com
在其命令行中接收正確的地址:dovecot unix - n n - - pipe flags=DRhu user=dovecot:dovecot argv=/usr/lib/dovecot/deliver -f ${sender} -d ${user}@${domain}