Postfix + php 將傳送至本機網域的電子郵件地址轉換為 [email protected]

Postfix + php 將傳送至本機網域的電子郵件地址轉換為 [email protected]

我的第一個問題是,如果我沒有立即提供足夠的信息,請對我投反對票,讓我放心;-)

我正在使用 OpenVZ 運行由 afterburst.com 託管的 VPS

我成功安裝並配置了以下元件:

zpanel (with apache, mysql, php5.3, postfix)
updated successfully to php5.4
running Laravel on secundary webpage (works fine)

使用 php 以及 MUA 發送電子郵件效果很好。從 MUA 發送到本機託管網域的電子郵件也可以正常運作。

但這是錯誤:

當我使用 php sendmail 命令向本機託管網域發送電子郵件時,電子郵件地址會轉換為[電子郵件受保護]。我相信這與我的 DNS 設定有關,但我嘗試了很多方法,但沒有找到正確的答案

我的主機名稱是

[user@vps ~]# hostname
vps.krause-it-consulting.com

這是我的後綴配置(postconf -n):

alias_database = hash:/etc/aliases
alias_maps = hash:/etc/aliases
broken_sasl_auth_clients = yes
command_directory = /usr/sbin
config_directory = /etc/postfix
daemon_directory = /usr/libexec/postfix
debug_peer_level = 2
delay_warning_time = 4
disable_vrfy_command = yes
html_directory = no
inet_interfaces = all
mail_owner = postfix
mailq_path = /usr/bin/mailq.postfix
manpage_directory = /usr/share/man
mydestination = vps.$mydomain
mydomain = krause-it-consulting.com
myhostname = vps.krause-it-consulting.com
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 VPS_IP
newaliases_path = /usr/bin/newaliases.postfix
queue_directory = /var/spool/postfix
readme_directory = /usr/share/doc/postfix-2.2.2/README_FILES
recipient_delimiter = +
relay_domains = proxy:mysql:/etc/zpanel/configs/postfix/mysql-relay_domains_maps                                                                                                                                                      .cf
sample_directory = /usr/share/doc/postfix-2.2.2/samples
sendmail_path = /usr/sbin/sendmail.postfix
setgid_group = postdrop
smtp_host_lookup = dns, native
smtp_use_tls = no
smtpd_client_restrictions =
smtpd_data_restrictions = reject_unauth_pipelining
smtpd_helo_required = yes
smtpd_helo_restrictions =
smtpd_recipient_restrictions = permit_sasl_authenticated,        permit_mynetwor                                                                                                                                                      ks,        reject_unauth_destination,        reject_non_fqdn_recipient,        r                                                                                                                                                      eject_unknown_recipient_domain
smtpd_sasl_auth_enable = yes
smtpd_sasl_local_domain = $myhostname
smtpd_sasl_path = private/auth
smtpd_sasl_security_options = noanonymous
smtpd_sasl_type = dovecot
smtpd_sender_restrictions =
smtpd_use_tls = no
soft_bounce = yes
transport_maps = hash:/etc/postfix/transport
unknown_local_recipient_reject_code = 550
virtual_alias_maps = proxy:mysql:/etc/zpanel/configs/postfix/mysql-virtual_alias                                                                                                                                                      _maps.cf,                     regexp:/etc/zpanel/configs/postfix/virtual_regexp
virtual_gid_maps = static:12
virtual_mailbox_base = /var/zpanel/vmail
virtual_mailbox_domains = proxy:mysql:/etc/zpanel/configs/postfix/mysql-virtual_                                                                                                                                                      domains_maps.cf
virtual_mailbox_maps = proxy:mysql:/etc/zpanel/configs/postfix/mysql-virtual_mai                                                                                                                                                      lbox_maps.cf
virtual_minimum_uid = 101
virtual_transport = dovecot
virtual_uid_maps = static:101

如果您需要更多信息,請詢問,我會添加。

最後我想強調的是只有透過 php 和 sendmail 指令發送的電子郵件才是問題所在這裡。其他一切都很好(到目前為止:-))

答案1

考慮到我過去兩週一直在研究這個問題,在寫下這個問題的詳細資訊後,我終於能夠解決它了。

實際上是我在主機檔案中建立的條目導致了此問題。也許我玩得太多了:-)

無論如何,這是問題所在:

127.0.0.1 localhost.localdomain localhost vps.krause-it-consulting.com krause-it-consulting.com hobbyathletes.com

刪除我的託管網域的 2 個新增後,它起作用了:正確的行:

 127.0.0.1 localhost.localdomain localhost vps.krause-it-consulting.com 

無論如何,我希望這對某人有幫助。

相關內容