台灣最大程式設計社群網站
線上人數
1914
 
會員總數:245912
討論主題:189503
歡迎您免費加入會員
討論區列表 >> Linux / Unix >> postfix問題
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
postfix問題
價值 : 300 QP  點閱數:1215 回應數:7
樓主

Qinghua
中級專家
3878 25
3323 817
發送站內信

各位前輩大家好
小弟有個問題想要請問板上的前輩們,就是我有兩台server(server A跟server B)
server B是mail server,目前碰到的問題是server A上我有裝postfix
然後我在server A的postfix的main.cf設定mydestination為 admin@server_B_domain, localhost, localhost.localdomain, localhost
也就是server A對外發信是透過server B發送,可是我從server A用/bin/mail透過postfix發的信他的發信人都會變root@admin@server_B_domain而被server B拒絕
我想請問的是server A上的postfix該如何設定發信人才會變admin@server_B_domain

搜尋相關Tags的文章: [ postfix ] ,
本篇文章發表於2014-11-06 14:14
== 簽名檔 ==
閒閒無所事事到處打醬油混水摸魚的老人.....
啊!那邊發現未開發農地!
碼農模式啟動!!!
1樓
作者回應

Qinghua
檢舉此回應
剛忘記說,server A發信是用/bin/mail透過server A的postfix發送到server B的
本篇文章回覆於2014-11-06 14:24
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
作者回應

Qinghua
檢舉此回應
以下是我server A的postfix main.cf

# See /usr/share/postfix/main.cf.dist for a commented, more complete version


# Debian specific: Specifying a file name will cause the first
# line of that file to be used as the name. The Debian default
# is /etc/mailname.
#myorigin = /etc/mailname

smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)
biff = no

# appending .domain is the MUA's job.
append_dot_mydomain = no

# Uncomment the next line to generate "delayed mail" warnings
#delay_warning_time = 4h

readme_directory = no

# TLS parameters
smtpd_tls_cert_file=/ssl/ssl-cert.pem
smtpd_tls_key_file=/ssl/private/ssl-cert.key
smtpd_use_tls=yes
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
# See /usr/share/doc/postfix/TLS_README.gz in the postfix-doc package for
# information on enabling SSL in the smtp client.

smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination
myhostname = server A hostname
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination = admin@server_B_domain, localhost, localhost.localdomain, 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


然後我server A的/etc/mailname內容是
admin@server_B_domain
本篇文章回覆於2014-11-06 14:29
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
回應

towns
捐贈 VP 給 towns 檢舉此回應
先確定一下問題
1. 您的問題是否是要由 server A發信,透過Server B寄出?
2. 您希望由 server A發信後出現的寄件人為admin@server_B_domain,對嗎?
3. 您是在server A中使用mail指令發信,所以Server A的OS,也是Linux,對嗎?
本篇文章回覆於2014-11-18 10:43
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
作者回應

Qinghua
檢舉此回應
回towns大:1~3都對
本篇文章回覆於2014-11-28 12:44
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
5樓
最有價值解答

towns
捐贈 VP 給 towns 檢舉此回應
1. Server A透過Server B發信。towns是這樣設定的 relayhost = [server B的IP或hostname]:25,這個設定會要求Server A所有寄出的信,先轉送到Server B再由Server B寄出

2. 在Server B上需設定 mynetworks = 加入server A的IP,告知Server B,這個IP是認可的,不需要驗證就可以發信

3. 使用mail指令發信,並使用 @server_B_domain 做為發信人,這個比較不清楚了,towns一般是使用MUA做處理(例如telnet、outlook等等),towns想,mail指令應該可以做到,不過得試試了
本篇文章回覆於2014-11-28 18:22
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
6樓
作者回應

Qinghua
檢舉此回應
回towns:最後我還是用telnet解決了(本來很不想用telnet,但由於server急著上線就算了),mail指令後來我查用-aFrom @server_B_domain參數一樣可以達到寄件人是@server_B_domain
本篇文章回覆於2014-12-10 06:25
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
7樓
回應

towns
捐贈 VP 給 towns 檢舉此回應
反而是我多學了一招呢!謝謝 ^^
本篇文章回覆於2014-12-10 10:39
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

回覆
如要回應,請先登入.