<?php
//使用 POP3 伺服器作身份認證
$server = 'pop3server';
$port = '110';
$userid = 'userid';
$password = 'password';
//檢查 $server $port 是否可以開啟
$fp = fsockopen ($server, $port, $errno, $errstr, 5);
if(!$fp) die('連線失敗');
//檢查 POP3 伺服器連線是否成功
$msg = fgets($fp, 256);
if(strpos($msg,"+OK")!=0) die('POP3 伺服器連線失敗');
//傳送帳號
fputs($fp, "USER $userid\r\n");
$msg = fgets($fp,256);
if(strpos($msg,"+OK")!=0) die('帳號錯誤');
//傳送密碼
fputs($fp, "PASS $password\r\n");
$msg = fgets($fp,256);
if(strpos($msg,"+OK")!=0) return die('密碼錯誤');
else echo '認證成功';
fputs($fp, "QUIT\r\n");
$msg = fgets($fp,256);
fclose($fp);
?>
參考文件
http://yu-minspace.blogspot.com/2009/04/rfc1939-pop3.html
2009年4月2日 星期四
RFC1939-POP3協定摘要
POP3伺服器
1.POP3伺服器偵聽 TCP 埠口 110。
2.當客戶主機需要使用服務時,它將與伺服器建立TCP連接。
3.當連接建立,POP3發送確認消息。客戶和POP3服務器相互(分別)交換命令和回應,這一過程一直要持續到連接終止。
POP3伺服器和客戶端的運作
1.在生命周期中,POP3會話有幾個不同的狀態(確認、操作及更新)。
2.一旦TCP連接被打開,而且POP3服務器發送了確認信息,此過程就進入了"確認"狀態。在此狀態中,客戶必須向POP3服務器確認自己是其的客戶。一旦確認成功,服務器就獲取與客戶郵件相關的資源,此時這一過程進入了"操作"狀態。在此狀態中,客戶提出服務,當客戶發出QUIT命令時,此過程進入了"更新"狀態。在此狀態中,POP3服務器釋放在"操作"狀態中取得的資源,並發送消息,終止連接。
POP3命令及訊息的交換
1.POP3命令由一個命令和一些參數組成。
2.所有命令以一個CRLF結束。
3.命令和參數由可顯示的ASCII字元組成,由空格間隔。
4.命令一般是三到四個字母,每個參數長度可達40個字元長度。
5.在發送第一行回應和一個CRLF之後,任何的附加信息行發送也由CRLF結束。
6.當所有信息發送結束時,發送最一行,包括一個結束字符(十進制碼46,也就是".")和一個CRLF。
7.如果信息中的任何一行以結束字符開始,此行就是通過在那一行預先裝入結束而進行字符填充的。因此,多行回應由五個CRLF.CRLF 結束。
8.當檢測多行回應時,客戶檢測以確認此行是否以結束字符開始。如果是的,而且其的字符不是CRLF,此行的第一個字符(結束字符)將被拋棄;如果其緊跟CRLF,從POP服務器來的回應終止,包括.CRLF 的行也不被認為是多行回應的一部分了。
一、基礎的POP3命令:
二、可選的POP3命令:
三、POP3 回應:
1.POP3回應由一個狀態碼和一個可能跟有附加信息的命令組成。
2.所有回應也是由 CRLF 結束。
3.有兩種狀態碼,"成功" ("+OK") 和 "失敗" ("-ERR")。
4.對特定命令的回應是由許多字符組成的。
5.除了STAT,LIST和UIDL的回應外,其它命令的回應均為"+OK"和 "-ERR"。
參考文件 http://www.ietf.org/rfc/rfc1939.txt
1.POP3伺服器偵聽 TCP 埠口 110。
2.當客戶主機需要使用服務時,它將與伺服器建立TCP連接。
3.當連接建立,POP3發送確認消息。客戶和POP3服務器相互(分別)交換命令和回應,這一過程一直要持續到連接終止。
POP3伺服器和客戶端的運作
1.在生命周期中,POP3會話有幾個不同的狀態(確認、操作及更新)。
2.一旦TCP連接被打開,而且POP3服務器發送了確認信息,此過程就進入了"確認"狀態。在此狀態中,客戶必須向POP3服務器確認自己是其的客戶。一旦確認成功,服務器就獲取與客戶郵件相關的資源,此時這一過程進入了"操作"狀態。在此狀態中,客戶提出服務,當客戶發出QUIT命令時,此過程進入了"更新"狀態。在此狀態中,POP3服務器釋放在"操作"狀態中取得的資源,並發送消息,終止連接。
POP3命令及訊息的交換
1.POP3命令由一個命令和一些參數組成。
2.所有命令以一個CRLF結束。
3.命令和參數由可顯示的ASCII字元組成,由空格間隔。
4.命令一般是三到四個字母,每個參數長度可達40個字元長度。
5.在發送第一行回應和一個CRLF之後,任何的附加信息行發送也由CRLF結束。
6.當所有信息發送結束時,發送最一行,包括一個結束字符(十進制碼46,也就是".")和一個CRLF。
7.如果信息中的任何一行以結束字符開始,此行就是通過在那一行預先裝入結束而進行字符填充的。因此,多行回應由五個CRLF.CRLF 結束。
8.當檢測多行回應時,客戶檢測以確認此行是否以結束字符開始。如果是的,而且其的字符不是CRLF,此行的第一個字符(結束字符)將被拋棄;如果其緊跟CRLF,從POP服務器來的回應終止,包括.CRLF 的行也不被認為是多行回應的一部分了。
一、基礎的POP3命令:
指令名稱 | 說明 | 狀態 |
| USER name | 送出帳號名稱 | 確認 |
| PASS string | 送出帳號密碼 | 確認 |
| QUIT | 結束POP3連線作業 | 確認、操作、更新 |
| STAT | 傳回信件狀況 | 操作 |
| LIST [msg] | 列出信件大小 【參數】信件編號 | 操作 |
| RETR msg | 傳回信件內容 【參數】信件編號 | 操作 |
| DELE msg | 刪除指定信件 【參數】信件編號 | 操作 |
| NOOP | NOOP | 操作 |
| RSET | 重設信件狀態 | 操作 |
二、可選的POP3命令:
| 指令名稱 | 說明 | 狀態 |
| APOP name digest | 使用 name digit md5 方式取代 USER/PASS 方式作確認 【參數】指定郵箱的字串和MD5摘要串。 | 確認 |
| TOP msg n | 傳回信件指定行數的內容 【參數】一個是未被標記為刪除的信件數,另一個是非負數(必須提供),如果要求的行數比信件體中的行數大,會發送整個信件。 | 操作 |
| UIDL [msg] | 傳回信件序號 【參數】信件數(可選)。如果給出信件數,不包括被標記為刪除的信件。 | 操作 |
三、POP3 回應:
1.POP3回應由一個狀態碼和一個可能跟有附加信息的命令組成。
2.所有回應也是由 CRLF 結束。
3.有兩種狀態碼,"成功" ("+OK") 和 "失敗" ("-ERR")。
4.對特定命令的回應是由許多字符組成的。
5.除了STAT,LIST和UIDL的回應外,其它命令的回應均為"+OK"和 "-ERR"。
參考文件 http://www.ietf.org/rfc/rfc1939.txt
2009年4月1日 星期三
2009年3月27日 星期五
VIM 如何正確顯示 UniCode或其他編碼
要切換編碼 utf-8 ,只要在命令模式鍵入
:set encoding=utf-8
vim 的指令也有縮寫
se = set
enc = encoding
utf8 = utf-8
因此上面的指令可以簡短成 se enc=utf8
如果不想每次都設定,也可以在 ~/.vimrc 設定檔中加入底下幾行即可解決:set encoding=utf-8
更多相關的設定,命令列輸入 :help
:set encoding=utf-8
vim 的指令也有縮寫
se = set
enc = encoding
utf8 = utf-8
因此上面的指令可以簡短成 se enc=utf8
如果不想每次都設定,也可以在 ~/.vimrc 設定檔中加入底下幾行即可解決:set encoding=utf-8
更多相關的設定,命令列輸入 :help
Linux mount FreeBSD 檔案系統
確定核心有支援 ufs 後使用以下指令範例:
mount -t ufs -o rw,ufstype=44bsd /dev/sda1 /mnt
mount -t ufs -o ro,ufstype=44bsd /dev/sda1 /mnt
mount -t ufs -o rw,ufstype=44bsd /dev/sda1 /mnt
mount -t ufs -o ro,ufstype=44bsd /dev/sda1 /mnt
REDHAT ES4 新增 POP3 服務
安裝 dovecot-0.99.11-2.EL4.1.i386.rpm
修改設定檔 /etc/dovecot.conf
修改 #protocols = imap imaps
---> protocols = pop3
修改 pop3_listen = [::]
---> pop3_listen = *
啟動服務 /etc/init.d/dovecot start
修改設定檔 /etc/dovecot.conf
修改 #protocols = imap imaps
---> protocols = pop3
修改 pop3_listen = [::]
---> pop3_listen = *
啟動服務 /etc/init.d/dovecot start
2009年3月23日 星期一
IBM X346 BMC 設定筆記
BMC 說明摘要:
1.BMC Baseboard Management Controller)。
2.伺服器在開機時載入BIOS時會執行硬體檢測,但當開機完成,運行一段時間後,若伺服器硬體週邊等發生故障時,要如何監測?BMC即是提供這種功能,從某個角度可以定義有BMC功能的即是伺服器,沒有的則是PC。
3.目前可以使用 BMC 透過網路來監控伺服器。
IBM X346 BMC功能有限,比較有用的功能在於控制主機的電源,相關指令如下:
identify 控制面板標示的LED
sysinfo 顯示目前系統的訊息
power 顯示、控制電源的開關
sel 顯示、刪除sel訊息
IBM X346 BMC 設定步驟如下:
一.BIOS設定BMC的相關設定
按F1進入BIOS,Advance->設置BMC IP
設定 SOL(Serial over LAN ) 功能: Advanced Options,Baseboard Management Controller (BMC) Settings:
– System-BMC Serial Port Sharing 設為 Enabled
– BMC Serial Port Access Mode 設為 Dedicated Devices and I/O Ports,作如下設定:
– 將Serial Port A 設為 Auto-configure。 Remote Console Redirection,作如下設定:
– Remote Console Active 設為 Enabled
– Remote Console Text Emulation 設為 VT100/VT220
– Remote Console Keyboard Emulation 設為 VT100/VT220
– Remote Console Active After Boot 設為 Enabled
– Remote Console Flow Control 設為 Hardware
windows 命令行下,檢查配置 進行相關如下:bootcfg /ems on /port com1 /baud 19200 /id 1;
注意參數與BIOS設置一致
二.連結網路,BMC的網路界面通常和第一個網路界面共用(通常是離電源供應器比較近的那一個)。
三.安裝 SMBridge 軟體 下載 System Management Bridge Baseboard Management Controller CLI and Remote Console Utility - Servers
http://www-947.ibm.com/systems/support/supportsite.wss/docdisplay?lndocid=MIGR-57729&brandind=5000008
可以任意安裝在某一部機器上,安裝完成以後,有以下檔案:
1.pxyservice.exe 服務程式
2.pxyservice.ini 一般不需要配置
3.SMBridge.exe SMBridge 處理程式。
4.smbridge.cfg
///////////////////////////////////
ip=127.0.0.1
port=623
session_timeout=30
power_off_timeout=60
其中IP設置SMBridge監聽IP, INADDR_ANY 為任意;
127.0.0.1 只允許本機;
ip:監聽一個具體IP;
PORT為監聽埠,預設為623。
/////////////////////////////////
執行pxyservice.exe,即可啟動SMBridge服務。
四、使用 TELNET 127.0.0.1 623 即可登入 SMBridge
1.登入 SMBridge 可以使用 connect 指令連結到想監控的伺服器。
2.IBM X346 BMC 的預設帳號密碼是 USERID / PASSW0RD
3.也可以使用SMBridge.exe命令直接連結支援BMC的伺服器進行管理。如:
smbridge -ip 192.168.0.100 -u USERID -p PASSW0RD sysinfo
參考文件:
http://www-01.ibm.com/support/docview.wss?uid=csc1ee9270bad8fe13c54825738600326ced
http://www.ixpub.net/archiver/tid-687984-page-1.html
http://www-900.ibm.com/cn/support/download/driver/detail?DocId=JJLU-6HHBQF
http://hi.baidu.com/telpublic/blog/item/1f3aa513788f57d3f6039ee6.html
1.BMC Baseboard Management Controller)。
2.伺服器在開機時載入BIOS時會執行硬體檢測,但當開機完成,運行一段時間後,若伺服器硬體週邊等發生故障時,要如何監測?BMC即是提供這種功能,從某個角度可以定義有BMC功能的即是伺服器,沒有的則是PC。
3.目前可以使用 BMC 透過網路來監控伺服器。
IBM X346 BMC功能有限,比較有用的功能在於控制主機的電源,相關指令如下:
identify 控制面板標示的LED
sysinfo 顯示目前系統的訊息
power 顯示、控制電源的開關
sel 顯示、刪除sel訊息
IBM X346 BMC 設定步驟如下:
一.BIOS設定BMC的相關設定
按F1進入BIOS,Advance->設置BMC IP
設定 SOL(Serial over LAN ) 功能: Advanced Options,Baseboard Management Controller (BMC) Settings:
– System-BMC Serial Port Sharing 設為 Enabled
– BMC Serial Port Access Mode 設為 Dedicated Devices and I/O Ports,作如下設定:
– 將Serial Port A 設為 Auto-configure。 Remote Console Redirection,作如下設定:
– Remote Console Active 設為 Enabled
– Remote Console Text Emulation 設為 VT100/VT220
– Remote Console Keyboard Emulation 設為 VT100/VT220
– Remote Console Active After Boot 設為 Enabled
– Remote Console Flow Control 設為 Hardware
windows 命令行下,檢查配置 進行相關如下:bootcfg /ems on /port com1 /baud 19200 /id 1;
注意參數與BIOS設置一致
二.連結網路,BMC的網路界面通常和第一個網路界面共用(通常是離電源供應器比較近的那一個)。
三.安裝 SMBridge 軟體 下載 System Management Bridge Baseboard Management Controller CLI and Remote Console Utility - Servers
http://www-947.ibm.com/systems/support/supportsite.wss/docdisplay?lndocid=MIGR-57729&brandind=5000008
可以任意安裝在某一部機器上,安裝完成以後,有以下檔案:
1.pxyservice.exe 服務程式
2.pxyservice.ini 一般不需要配置
3.SMBridge.exe SMBridge 處理程式。
4.smbridge.cfg
///////////////////////////////////
ip=127.0.0.1
port=623
session_timeout=30
power_off_timeout=60
其中IP設置SMBridge監聽IP, INADDR_ANY 為任意;
127.0.0.1 只允許本機;
ip:監聽一個具體IP;
PORT為監聽埠,預設為623。
/////////////////////////////////
執行pxyservice.exe,即可啟動SMBridge服務。
四、使用 TELNET 127.0.0.1 623 即可登入 SMBridge
1.登入 SMBridge 可以使用 connect 指令連結到想監控的伺服器。
2.IBM X346 BMC 的預設帳號密碼是 USERID / PASSW0RD
3.也可以使用SMBridge.exe命令直接連結支援BMC的伺服器進行管理。如:
smbridge -ip 192.168.0.100 -u USERID -p PASSW0RD sysinfo
參考文件:
http://www-01.ibm.com/support/docview.wss?uid=csc1ee9270bad8fe13c54825738600326ced
http://www.ixpub.net/archiver/tid-687984-page-1.html
http://www-900.ibm.com/cn/support/download/driver/detail?DocId=JJLU-6HHBQF
http://hi.baidu.com/telpublic/blog/item/1f3aa513788f57d3f6039ee6.html
訂閱:
文章 (Atom)