關(guān)于nginx使用mail模塊進(jìn)行郵件端口轉(zhuǎn)發(fā)

近日凌彬,由于項(xiàng)目需求铲敛,需要使用nginx實(shí)現(xiàn)mail郵件端口轉(zhuǎn)發(fā)会钝,并且能獲取到通過(guò)代理轉(zhuǎn)發(fā)后拿到發(fā)件的真實(shí)ip地址迁酸。由于這方面資料太少,只能自己摸索型型。

經(jīng)過(guò)學(xué)習(xí)與研究nginx中文文檔http://www.nginx.cn/doc/全蝶,發(fā)現(xiàn)使用nginx中mail轉(zhuǎn)發(fā)的功能,在nginx.conf中增加mail模塊:

mail {

# See sample authentication script at:

#

http://wiki.nginx.org/ImapAuthenticateWithApachePhpScript

auth_http localhost/auth.php;

pop3_capabilities "TOP" "USER";

imap_capabilities "IMAP4rev1" "UIDPLUS";

server {

listen? ?? localhost:110;

protocol?? pop3;

proxy? ? ? on;

}

server {

listen? ?? localhost:143;

protocol?? imap;

proxy? ? ? on;

}

server {

listen? ? 25;

protocol? ? smtp;

proxy? ? on;

smtp_auth login plain none;

xclient? ? off;

}

}

開(kāi)始實(shí)現(xiàn)時(shí)發(fā)現(xiàn)绷落,使用本域郵件發(fā)件就會(huì)走這個(gè)auth http地址認(rèn)證始苇,外域發(fā)件過(guò)來(lái) 怎么也不走這個(gè)認(rèn)證地址,誤以為是需要外域能請(qǐng)求到這個(gè)地址函喉,所以把該地址改成了外域可以請(qǐng)求到的網(wǎng)絡(luò)地址荣月,最終發(fā)現(xiàn)完全就不是哺窄,也一直感覺(jué)這樣跟nginx有所違背萌业,其實(shí)這個(gè)auth http就是監(jiān)聽(tīng)到訪問(wèn)本機(jī)的25端口時(shí),請(qǐng)求該地址將正確的郵件服務(wù)及端口返回:

C#實(shí)現(xiàn)該認(rèn)證地址:

public void ReturnBackEndServer()

{

LogHelper.WriteLog("-------------------------------nginx start.----------------------------------");

try

{

if (HttpContext.Current.Request != null)

{

if (HttpContext.Current.Request.Headers != null)

{

foreach (string key in HttpContext.Current.Request.Headers)

{

LogHelper.WriteLog(string.Format("key:{0}, value:{1}", key, HttpContext.Current.Request.Headers[key]));

}

}

else

{ LogHelper.WriteLog("header is null1"); }

}

else

{ LogHelper.WriteLog("header is null2"); }

}

catch(Exception ex)

{

LogHelper.WriteLog(ex);

}

finally

{

LogHelper.WriteLog("================================nginx end.===================================");

HttpContext.Current.Response.Headers.Add("Auth-User", "可以更改此值,在XCLIENT ADDR=真實(shí)ip LOGIN=就是這里的Auth-User NAME=[UNAVAILABLE]");

HttpContext.Current.Response.Headers.Add("Auth-Status", "OK");

HttpContext.Current.Response.Headers.Add("Auth-Server", ConfigurationManager.AppSettings["NginxServer"]);

HttpContext.Current.Response.Headers.Add("Auth-Port", ConfigurationManager.AppSettings["NginxPort"]);

HttpContext.Current.Response.End();

}

郵件服務(wù)中的XCLient代碼:

開(kāi)啟XClient 為on 后懂从,可以調(diào)用郵件服務(wù)的XCLient()方法蹲蒲,可以將真實(shí)ip更改獲取届搁。XCLient方法中XCLIENT ADDR=真實(shí)ip LOGIN=就是這里的Auth-User NAME=[UNAVAILABLE] 將整個(gè)連接的session中用戶(hù)ip更改為正式ip窍育。

官方文檔的XCLient所有參數(shù)為:


2017年11月14日20:24:07
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末表锻,一起剝皮案震驚了整個(gè)濱河市乞娄,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌仪或,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,490評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件范删,死亡現(xiàn)場(chǎng)離奇詭異蕾域,居然都是意外死亡到旦,警方通過(guò)查閱死者的電腦和手機(jī)旨巷,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,581評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門(mén)添忘,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)采呐,“玉大人,你說(shuō)我怎么就攤上這事昔汉⌒竿颍” “怎么了靶病?”我有些...
    開(kāi)封第一講書(shū)人閱讀 165,830評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)涕侈。 經(jīng)常有香客問(wèn)我煤辨,道長(zhǎng),這世上最難降的妖魔是什么端三? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,957評(píng)論 1 295
  • 正文 為了忘掉前任郊闯,我火速辦了婚禮,結(jié)果婚禮上团赁,老公的妹妹穿的比我還像新娘育拨。我一直安慰自己,他們只是感情好欢摄,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,974評(píng)論 6 393
  • 文/花漫 我一把揭開(kāi)白布熬丧。 她就那樣靜靜地躺著,像睡著了一般怀挠。 火紅的嫁衣襯著肌膚如雪析蝴。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 51,754評(píng)論 1 307
  • 那天唆香,我揣著相機(jī)與錄音嫌变,去河邊找鬼。 笑死躬它,一個(gè)胖子當(dāng)著我的面吹牛腾啥,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播冯吓,決...
    沈念sama閱讀 40,464評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼倘待,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了组贺?” 一聲冷哼從身側(cè)響起凸舵,我...
    開(kāi)封第一講書(shū)人閱讀 39,357評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎失尖,沒(méi)想到半個(gè)月后啊奄,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,847評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡掀潮,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,995評(píng)論 3 338
  • 正文 我和宋清朗相戀三年菇夸,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片仪吧。...
    茶點(diǎn)故事閱讀 40,137評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡庄新,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情择诈,我是刑警寧澤械蹋,帶...
    沈念sama閱讀 35,819評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站羞芍,受9級(jí)特大地震影響哗戈,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜涩金,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,482評(píng)論 3 331
  • 文/蒙蒙 一谱醇、第九天 我趴在偏房一處隱蔽的房頂上張望暇仲。 院中可真熱鬧步做,春花似錦、人聲如沸奈附。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,023評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)斥滤。三九已至将鸵,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間佑颇,已是汗流浹背顶掉。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,149評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留挑胸,地道東北人痒筒。 一個(gè)月前我還...
    沈念sama閱讀 48,409評(píng)論 3 373
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像茬贵,于是被迫代替她去往敵國(guó)和親簿透。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,086評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容