Ubuntu

無法使用 Postfix 在網路外發送電子郵件

  • September 4, 2012

我已經按照本指南設置了一個帶有 Request Tracker 的 Ubuntu 伺服器(有關入站郵件的部分將是相關的)。但是,雖然我能夠向網路/域中的其他使用者發送郵件,但我似乎無法超越 - 例如我的個人帳戶等。現在我不知道是什麼原因造成的,我認為只需要讓系統通過我們的交換伺服器獲取郵件並能夠以相同的方式投遞。然而,事實並非如此。

我發現了另一個以類似方式設置的伺服器(CentOS 5,Request Tracker,但使用了 Sendmail),但是它是一個過時的伺服器,並且建構它的人沒有留下任何關於它如何工作的文件,這使得使用它作為一個痛苦參考系統!:)

有一次,有人告訴我我需要在本地伺服器的電子郵件添加和我們的 AD 伺服器之間建立一個中繼,但這似乎不起作用。抱歉,我對郵件伺服器幾乎一無所知,我的同事對 Linux 也一無所知,所以這對我來說很難。

謝謝!

編輯: 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_command = procmail -a "$EXTENSION"
mailbox_size_limit = 0
mydestination = myhost.mydomain.com, localhost.mydomain.com, , localhost
myhostname = myhost.mydomain.com
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
myorigin = /etc/mailname
readme_directory = no
recipient_delimiter = +
relayhost = EXCHANGE IP
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

範例日誌消息:

Sep 4 12:32:05 hostname postfix/smtp[9152]: 2147B200B99:
  to=<foo@bar.com>, relay= RELAY IP :25, delay=0.1, delays=0.05/0/0/0.04,
  dsn=5.7.1, status=bounced (host HOST IP said: 550 5.7.1 Unable to relay
  for foo@bar.com (in reply to RCPT TO command))

首先,您需要檢查您的防火牆是否允許到埠 25(SMTP)的出站連接。

如果是這樣,您需要檢查您的電子郵件是否沒有被禁止。檢查日誌可能會有所幫助,因為它會在此處顯示退回的電子郵件。如果是這種情況,那麼您需要設置 RDNSSPF 記錄和可選的DKIM

如果在此之後電子郵件仍然無法發送,那麼您需要分析日誌並查看他們所說的內容,因為它可能是其他內容。

引用自:https://serverfault.com/questions/424107