日本免费全黄少妇一区二区三区-高清无码一区二区三区四区-欧美中文字幕日韩在线观看-国产福利诱惑在线网站-国产中文字幕一区在线-亚洲欧美精品日韩一区-久久国产精品国产精品国产-国产精久久久久久一区二区三区-欧美亚洲国产精品久久久久

如何使用ssmtp提交你的port

Contents

* 簡介
* 問題
* 找一個(gè)合適的mail agent
* 配置ssmtp
* 使用send-pr
* 參與討論(以EMacs為例)

簡介
本文不是介紹如何新建或是修改一個(gè)port的,關(guān)于這一部分,請參考 The Porter"s Handbook. 本文將主要介紹在當(dāng)前中國的網(wǎng)絡(luò)環(huán)境下如何將你所作的改動(dòng)發(fā)給FreeBSD的PR庫.

非常感謝aiwha, delphij, intron, liue等各位在我第一次發(fā)PR時(shí)的幫助.本文的最新版將放在 http://dryice.3322.org/computer/FreeBSD/Chinese/sendpr.html

問題
因?yàn)槔]件太多,F(xiàn)reeBSD的mailing list server對收到的信件做了嚴(yán)格的限制:一定要從可以做反向DNS解析的機(jī)器發(fā)出的信才接收.

所謂反向解析,就是從一個(gè)給定的IP,找出對應(yīng)的域名.我們平時(shí)上網(wǎng)用的DNS解析,是從域名到IP,這個(gè)是由域名的所有者設(shè)定的.而反向DNS解析,是由IP的所有者(通常是ISP)設(shè)定的.

我們中很多人用的是動(dòng)態(tài)IP,ISP不可能給我們設(shè)反向DNS解析,更不用說很多是內(nèi)網(wǎng)上網(wǎng),或是在虛擬機(jī)里裝的FreeBSD了.即使是使用固定IP的網(wǎng)友,也很少有人能讓他的ISP給他設(shè)反向解析.這樣,當(dāng)我們在自己的FreeBSD里面用send-pr發(fā) PR的時(shí)候,過不了多久就會(huì)收到退信,象這樣:

450 ClIEnt host rejected:
cannot find your hostname, [xxx.xxx.xxx.xxx]

這樣,除非你能在一臺(tái)有反向解析的FreeBSD機(jī)器上有賬號(hào),要不然就只能想辦法騙過FreeBSD的mail server,讓它以為信是從另一臺(tái)有反向解析的機(jī)器上發(fā)出的 。這就是我們下面要介紹的辦法:使用ssmtp
找一個(gè)合適的mail agent
這里的mail agent是ssmtp的叫法,就是我們要用的帶反向解析的smtp服務(wù)器.很可惜,目前我見到的國內(nèi)的郵件服務(wù)商,不論是免費(fèi)的還是付費(fèi)的,都是不帶反向解析的.所以大家就只好到國外去找了,方法很簡單:

1. 找一個(gè)免費(fèi)的郵件服務(wù)商并找到他的SMTP服務(wù)器地址
2. ping這個(gè)地址找到IP
3. 到 http://network-tools.com/default.asp?prog=express&Netnic=whois.arin.net輸入剛才得到的IP,看能不能反查到域名
4. 如果可以,就注冊一個(gè)用戶,不能,就重新來 :)

配置ssmtp
ssmtp可以模擬sendmail,把我們在stdin的輸入發(fā)送給指定的smtp服務(wù)器.它在 ports里面,/usr/ports/mail/ssmtp,直接make install clean就好了.

安裝完后,需要修改/usr/local/etc/ssmtp/ssmtp.conf文件進(jìn)行配置:

* mailhub改成你找到的smtp服務(wù)器地址
* rewriteDomain和hostname寫郵件商的地址
* FromLineOverride改成YES.注意,這一條非常重要,一定要改成YES!

使用send-pr

好,現(xiàn)在可以來設(shè)置使用send-pr了.這一步的關(guān)鍵是設(shè)置MAIL_AGENT 變量,send-pr會(huì)根據(jù)就個(gè)變量發(fā)信.我們需要所它指向ssmtp,我常用的是這樣:

/usr/local/sbin/ssmtp -v -t -au 我的賬號(hào) -ap 我的密碼

可以man ssmtp看參數(shù)的具體含意,其中 -au 和 -ap 適用于需要smtp驗(yàn)證的情況.

好了,現(xiàn)在可以運(yùn)行send-pr,把``To:""改成自己常用的地址,發(fā)一封信試試了. 一開始可以打開ssmtp的``-v""參數(shù),可以看到和smtp服務(wù)器的對話,來判斷錯(cuò)誤出在哪.注意現(xiàn)在很多的smtp服務(wù)器都限制只給自己的用戶發(fā)信,所以你很可能需要把``From""一欄設(shè)成你新申請的mail地址.不過我們可以把reply-to設(shè)成自己常用的地址,這樣就不用多檢查一個(gè)郵箱了 :)
參與討論(以Emacs為例)
發(fā)完了PR并不算完,有時(shí)候committer會(huì)和我們討論,他想要做一個(gè)什么樣的修改.這時(shí)候如果我們還用自己的mail client按照平時(shí)的方法回信,信還是會(huì)被 FreeBSD的mail server退回來.所以我們要配置自己的mail client也用ssmtp發(fā)信.象我用Emacs Gnus,就是這樣:

(setq message-send-mail-function "feedmail-send-it)
(add-hook "message-mail-send-hook

推薦閱讀