目录
建立網路連線後(參加 第 5 章 網絡設置),你可以執行各種網路應用。
![]() |
提示 |
---|---|
對於現代的 Debian 網路基礎設施的具體說明,閱讀 Debian 管理員手冊 —— 網路基礎設施。 |
![]() |
提示 |
---|---|
在某些 ISP 下,如果你啟用“兩步驗證”,你可能需要獲取一個應用密碼以從你的程式訪問 POP 和 SMTP 服務。你也可能需要事先允許你的主機 IP 進行訪問。 |
有許多網頁瀏覽器軟體包,使用超文字傳輸協議(HTTP)訪問遠端內容。
表 6.1. 網頁瀏覽器列表
軟件包 | 流行度 | 大小 | 類型 | 網路瀏覽器說明 |
---|---|---|---|---|
chromium
|
V:51, I:141 | 180040 | X | Chromium,(來自 Google 的開源瀏覽器) |
firefox
|
V:13, I:20 | 205631 | 同上 | Firefox,(來自 Mozilla 的開源瀏覽器,僅在 Debian Unstable 中可用) |
firefox-esr
|
V:217, I:437 | 198436 | 同上 | Firefox ESR(Firefox 延長支援版本) |
epiphany-browser
|
V:4, I:24 | 3730 | 同上 | GNOME,相容 HIG,Epiphany |
konqueror
|
V:18, I:100 | 20763 | 同上 | KDE,Konqueror |
dillo
|
V:1, I:7 | 1536 | 同上 | Dillo,(基於 FLTK 的輕量級瀏覽器) |
w3m
|
V:31, I:284 | 2289 | 文字 | w3m |
lynx
|
V:13, I:98 | 1948 | 同上 | Lynx |
elinks
|
V:6, I:28 | 1767 | 同上 | ELinks |
links
|
V:6, I:39 | 2249 | 同上 | Links(純文字) |
links2
|
V:1, I:15 | 5417 | 影象 | Links(沒有 X 的控制檯影象) |
在某些瀏覽器中,你可以使用下列特殊的 URL 來確認它們的設定。
"about:
"
"about:config
"
"about:plugins
"
Debian 提供了在 main 檔案庫中提供了許多自由的瀏覽器外掛軟體包,不僅可以處理 Java(軟體平臺) 和 Flash,也可以處理 MPEG、MPEG2、MPEG4、DivX、Windows Media Video (.wmv)、QuickTime (.mov)、MP3 (.mp3)、Ogg/Vorbis 檔案、DVD、VCD 等等。Debian 也提供相關輔助程式,可以用來安裝來自 contrib 或 non-free 的 non-free 瀏覽器外掛軟體包。
表 6.2. 瀏覽器外掛軟體包列表
軟件包 | 流行度 | 大小 | 區域 | 說明 |
---|---|---|---|---|
pepperflashplugin-nonfree
|
V:1, I:21 | 29 | contrib | Pepper Flash Player(胡椒 Flash 播放器)——瀏覽器外掛 |
browser-plugin-freshplayer-pepperflash
|
I:9 | 1135 | contrib | PPAPI-host NPAPI-plugin,pepperflash 的介面卡 |
![]() |
提示 |
---|---|
儘管使用上述的 Debian 軟體包會更容易,但你依舊可以手動啟用外掛,你需要將 “*.so” 檔案安裝到外掛目錄中(例如
“ |
有些網站拒絕基於你所使用瀏覽器的使用者代理字串的連線。你可以通過 偽裝使用者代理字串
來解決這個問題。例如,你可以新增下面這行到使用者配置檔案中(例如
“~/.gnome2/epiphany/mozilla/epiphany/user.js
” 或
“~/.mozilla/firefox/*.default/user.js
”)。
user_pref{"general.useragent.override","Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0)"};
或者,你也可以通過輸入 “about:config
” 到 URL,並右擊它所顯示的內容,來新增並重置這個變數。
![]() |
小心 |
---|---|
偽裝的使用者代理字串可以會導致 來自 Java 的不良副作用。 |
![]() |
小心 |
---|---|
如果你想設定郵件伺服器來直接通過網際網路交換郵件,你應該最好閱讀一下這個基本文件。 |
郵件系統涉及到執行在多個主機上的許多伺服器程式和客戶端程式。從功能來說,有3種類型的郵件代理程式:
郵件傳輸代理(MTA,參見 第 6.3 节 “郵件傳輸代理 (MTA)”),是不同主機之間傳送郵件的程式。
郵件投遞代理(MDA,參見 第 6.6 节 “帶有過濾器的郵件投遞代理 (MDA)”),是傳遞資訊到一臺主機內的使用者郵箱的程式。
郵件使用者代理(MUA,也被稱為電子郵件客戶端,參見 第 6.4 节 “郵件使用者代理 (MUA)”),是生成資訊和訪問傳遞的資訊的程式。
![]() |
注意 |
---|---|
對於那些消費者級網路連線的典型移動工作站,以下的配置例子是有效的。 |
電子郵件 由三個部分組成,訊息的信封,郵件標頭及郵件正文。
SMTP 用電子郵件信封上的 "To" 和 "From" 資訊來投遞郵件。(信封上的 "From" 資訊也被叫做退回地址, 例如 From_ 等等)。
電子郵件頭的"To" 和 "From" 資訊,顯示在 電子郵件客戶端上. (在大部分情況下,這些資訊是跟電子郵件信封一致,但並不全是這樣。)
為了處理正文資料型別及其編碼,電子郵件客戶端 (MUA) 需要用多用途網際網路郵件擴充套件 (MIME)來解釋郵件標頭和郵件正文。
為了儘可能減少垃圾郵件 (不想要的和未經請求的電子郵件) 的問題,許多提供消費者級網際網路連線的 ISP 服務商正在採取應對措施。
智慧主機服務於 ISP 的客戶,使用rfc4409裡面規定的(587)埠傳送郵件,並使用在rfc4954裡面規定的密碼(SMTP 認證服務).
內部的網路主機 (除了 ISP 自己的傳送郵件伺服器) 連線到網際網路的 SMTP 25 埠已經被封鎖了。
從一些可疑的外部網路主機到 ISP 接收郵件伺服器SMTP 25 埠的連線會被阻隔.(連線來自用於撥號和其它消費等級網際網路連線的動態 IP 地址範圍,首先被阻隔.)
像域名金鑰識別郵件 (DKIM)、發信者策略框架 (SPF) 和 基於域名的訊息認證、報告和反應(DMARC) 這樣的反垃圾郵件技術廣泛用於電子郵件過濾。
域名金鑰識別郵件服務可能會用於你的通過 smarthost 的電子郵件傳送。
智慧主機可以在上面重寫源電子郵件地址為你的郵件賬戶。
當配置電子郵件系統或解決郵遞問題時,你必須考慮這些新的限制。
![]() |
小心 |
---|---|
在消費者級的網路上執行 SMTP 伺服器來直接傳送郵件到遠端可信賴主機是不現實的。 |
![]() |
小心 |
---|---|
期望單個智慧主機可靠的傳送不相關的源郵件地址到遠端主機,這是不現實的。 |
![]() |
小心 |
---|---|
一個郵件能夠被任何主機靜悄悄的拒絕,即使路由到了目的地。傳送一個郵件到遠端主機的可靠方法,就是使你的郵件儘可能的看起來是經過認證的。 |
鑑於這些不利的網際網路情況和限制,像 Yahoo.com 和 Gmail.com 這樣的獨立網際網路郵件 ISP 提供了安全的郵件服務,使用傳輸層安全協議 (TLS) 和它的前身,安全套接層協議 (SSL) 就可以在任何地方通過網路連線到這些郵件服務。
為了簡便起見,在接下來的文字中,我假定 smarthost 是 "smtp.hostname.dom
", 需要
SMTP 認證並且使用帶有STARTTLS 協議的資訊傳送埠 (587) 。
最簡單的電子郵件配置是使用 MUA 傳送郵件到 ISP 的 smarthost,然後從 ISP 的 POP3 伺服器接收郵件 (參見第 6.4 节 “郵件使用者代理 (MUA)”)。這種型別的配置流行使用全功能的基於 GUI 的 MUA,例如icedove(1),evolution(1) 等等。如果需要通過郵件的型別來過濾它們,你應該使用 MUA 的過濾功能。對於這種情況,本地 MTA (參見第 6.3 节 “郵件傳輸代理 (MTA)”) 只需在本地投遞 (當傳送者和接收者在同一主機上)。
請注意 Debian 是多使用者系統。即使你是唯一的使用者,這裡仍然有許多以 root 使用者執行的程式並且它們會給你傳送電子郵件。
另外可選的郵件配置是通過本地 MTA 傳送郵件到 ISP 的 smarthost,通過郵件檢索 (參見第 6.5 节 “遠端郵件檢索和轉發實用工具”) 從 ISP 的 POP3 伺服器接受郵件,並把郵件儲存到本地郵箱。如果需要通過郵件的型別來過濾它們,你應該使用 MDA 的過濾功能 (參見第 6.6 节 “帶有過濾器的郵件投遞代理 (MDA)”) 來過濾郵件到單獨的郵箱。這種型別的配置流行使用基於終端的簡單 MUA,例如 mutt(1),mew(1)等等,儘管使用任何 MUA 都是可以的 (參見第 6.4 节 “郵件使用者代理 (MUA)”)。對於這種情況,本地 MTA (參見第 6.3 节 “郵件傳輸代理 (MTA)”) 需要做 smarthost 投遞和本地投遞。因為移動工作站沒有有效的 FQDN,你必須配置本地 MTA 來隱藏和偽裝外發郵件中的真實本地郵件名稱,來避免郵件投遞錯誤 (參見第 6.3.3 节 “郵件地址配置”)。
![]() |
提示 |
---|---|
你可能想要配置 MUA/MDA 來使用 Maildir,以便儲存郵件到你使用者目錄的某個位置。 |
對於一般的工作站而言,郵件傳輸代理 (MTA) 的主流選擇是 exim4-*
或者
postfix
軟體包,這由你決定。
表 6.3. 用於工作站的基礎的郵件傳輸代理相關的軟體包列表
軟件包 | 流行度 | 大小 | 說明 |
---|---|---|---|
exim4-daemon-light
|
V:342, I:367 | 1493 | Exim4 郵件傳輸代理 (MTA : Debian 預設的) |
exim4-base
|
V:349, I:377 | 1704 | Exim4 文件 (文字) 和通用檔案 |
exim4-doc-html
|
I:1 | 3662 | Exim4 文件 (html) |
exim4-doc-info
|
I:1 | 624 | Exim4 文件 (info) |
postfix
|
V:145, I:160 | 4182 | Postfix 郵件傳輸代理 (MTA : 替代品) |
postfix-doc
|
I:9 | 4444 | Postfix 文件 (html+text) |
sasl2-bin
|
V:5, I:19 | 428 | Cyrus SASL API 實現 (實現 postfix SMTP 認證) |
cyrus-sasl2-doc
|
I:1 | 575 | Cyrus SASL - 文件 |
儘管在流行度投票數上,exim4-*
某些時候看起來要比 postfix
流行,但這並不意味著 postfix
在 Debian 開發者中不流行。Debian 伺服器系統使用
exim4
和 postfix
。著名的 Debian
開發者發到郵件列表的帖子的郵件標頭分析的結果也表明這兩種 MTA
一樣受歡迎。
exim4-*
軟體包最為人所知的是,有著非常小的記憶體消耗和非常靈活的配置。postfix
軟體包最為人所知的是,它的簡潔、快速、簡單和安全的特性。這兩種工具都帶有充足的文件,在質量和許可證上都同樣是不錯的。
在 Debian 檔案庫裡,有許多不同效能和不同關注點的郵件傳輸代理 (MTA) 軟體包可供選擇。
表 6.4. Debian 檔案庫中可供選擇的郵件傳輸代理 (MTA) 軟體包的列表
軟件包 | 流行度 | 大小 | 效能和關注點 |
---|---|---|---|
exim4-daemon-light
|
V:342, I:367 | 1493 | 全功能 |
postfix
|
V:145, I:160 | 4182 | 全功能 (安全) |
exim4-daemon-heavy
|
V:7, I:8 | 1643 | 全功能 (靈活) |
sendmail-bin
|
V:14, I:15 | 1854 | 全功能(如果你已經對它熟悉) |
nullmailer
|
V:7, I:10 | 479 | 部分功能,沒有本地郵件 |
ssmtp
|
V:8, I:11 | 2 | 部分功能,沒有本地郵件 |
courier-mta
|
V:0, I:0 | 2416 | 非常全功能(web 介面等.) |
masqmail
|
V:0, I:0 | 337 | 輕量 |
esmtp
|
V:0, I:0 | 128 | 輕量 |
esmtp-run
|
V:0, I:0 | 32 |
輕量(sendmail 相容擴充套件到esmtp )
|
msmtp
|
V:5, I:10 | 547 | 輕量 |
msmtp-mta
|
V:3, I:4 | 86 |
輕量(sendmail 相容擴充套件到msmtp )
|
![]() |
小心 |
---|---|
配置 |
對於那些通過 smarthost 的網路郵件,你應該按如下所示的 (重新) 配置 exim4-*
軟體包。
$ sudo /etc/init.d/exim4 stop $ sudo dpkg-reconfigure exim4-config
配置 "General type of mail configuration" 時,選擇 "mail sent by smarthost; received via SMTP or fetchmail"。
設定 "System mail name:" 為預設的 FQDN (參見第 5.1.1 节 “主機名解析”)。
設定 "IP-addresses to listen on for incoming SMTP connections:" 為預設的 "127.0.0.1; ::1"。
"Other destinations for which mail is accepted:" 選項留空。
"Machines to relay mail for:" 選項留空。
設定 "IP address or host name of the outgoing smarthost:" 為 "smtp.hostname.dom:587"。
設定 "Hide local mail name in outgoing mail?" 選項為 "<No>"。(或者像第 6.3.3 节 “郵件地址配置”描述的那樣使用
/etc/email-addresses
" 代替)
選擇如下所示的其中一個來回答 "Keep number of DNS-queries minimal (Dial-on-Demand)?"。
"No" 如果啟動的時候,系統就連上了網際網路。
"Yes" 如果啟動的時候,系統沒有連上網際網路。
設定 "Delivery method for local mail:" 選項為 "mbox format in /var/mail/"。
"Split configuration into small files?:" 選項設為 "<Yes>"。
通過修改 "/etc/exim4/passwd.client
" 檔案,來建立用於 smarthost 的密碼條目。
$ sudo vim /etc/exim4/passwd.client ... $ cat /etc/exim4/passwd.client ^smtp.*\.hostname\.dom:username@hostname.dom:password
通過如下所示的啟動 exim4
。
$ sudo /etc/init.d/exim4 start
"/etc/exim4/passwd.client
"
檔案中的主機名不應該是別名,你應該按如下所示的檢查真正的主機名。
$ host smtp.hostname.dom smtp.hostname.dom is an alias for smtp99.hostname.dom. smtp99.hostname.dom has address 123.234.123.89
我在 "/etc/exim4/passwd.client
" 檔案中使用正則表示式來繞過別名問題。即使 ISP
更改了別名所指向的主機名,SMTP AUTH 還是可能工作的。
你能夠通過如下所示的手動更新 exim4
配置:
更新 "/etc/exim4/
" 目錄下的 exim4
配置檔案。
建立 "/etc/exim4/exim4.conf.localmacros
" 來設定巨集命令和修改
"/etc/exim4/exim4.conf.template
" 檔案。(沒有分割的配置)
在 ”/etc/exim4/exim4.conf.d
" 子目錄中建立新檔案或編輯已存在的檔案。(分割的配置)
執行 "invoke-rc.d exim4 reload
" 命令。
請閱讀 "/usr/share/doc/exim4-base/README.Debian.gz
" 官方指導和
update-exim4.conf(8)。
![]() |
小心 |
---|---|
如果 debconf 詢問 "Keep number of DNS-queries minimal (Dial-on-Demand)?"
這個問題時,選擇 了 "No" (預設值),那麼啟動 |
![]() |
警告 |
---|---|
雖然你的 ISP 允許,但是使用沒有加密的明文密碼是不安全的。 |
![]() |
提示 |
---|---|
儘管推薦在 587 埠上使用 STARTTLS 的 SMTP 協議,但是有些 ISP 仍然使用廢棄的 SMTPS 協議 (在 465 埠上的 SSL)。4.77 版本以後的 Exim4 支援在客戶端和伺服器上的廢棄 SMTPS 協議。 |
![]() |
提示 |
---|---|
如果你正在為膝上型電腦尋找一個遵守 " |
對於通過 smarthost 的網路郵件,你應該首先閱讀 postfix 文件和關鍵的手冊頁。
表 6.5. 重要的 postfix 手冊頁列表
命令 | 功能 |
---|---|
postfix(1) | Postfix 控制程式 |
postconf(1) | Postfix 配置工具 |
postconf(5) | Postfix 配置引數 |
postmap(1) | Postfix 查詢表維護 |
postalias(1) | Postfix 別名資料庫維護 |
你應該按如下所示的 (重新) 配置 postfix
和 sasl2-bin
軟體包。
$ sudo /etc/init.d/postfix stop $ sudo dpkg-reconfigure postfix
選擇 "Internet with smarthost"。
設定 "SMTP relay host (blank for none):" 為
"[smtp.hostname.dom]:587
" 並按如下所示配置。
$ sudo postconf -e 'smtp_sender_dependent_authentication = yes' $ sudo postconf -e 'smtp_sasl_auth_enable = yes' $ sudo postconf -e 'smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd' $ sudo postconf -e 'smtp_sasl_type = cyrus' $ sudo vim /etc/postfix/sasl_passwd
為 smarthost 建立密碼條目。
$ cat /etc/postfix/sasl_passwd [smtp.hostname.dom]:587 username:password $ sudo postmap hush:/etc/postfix/sasl_passwd
通過如下所示的啟動 postfix
。
$ sudo /etc/init.d/postfix start
dpkg-reconfigure
會話中使用的 "[
" 和
"]
" 和 "/etc/postfix/sasl_passwd
"
確保不去檢查 MX 記錄而是直接使用指定的明確主機名。參見
"/usr/share/doc/postfix/html/SASL_README.html
" 裡面的
"Enabling SASL authentication in the Postfix SMTP client" 條目。
這裡有一些用於郵件傳輸、投遞和使用者代理的郵件地址配置檔案。
表 6.6. 與郵件地址相關的配置檔案列表
檔案 | 功能 | 應用 |
---|---|---|
/etc/mailname
|
用於 (外發) 郵件的預設主機名 | Debian 專用的,mailname(5) |
/etc/email-addresses
|
用於外發郵件的主機名偽裝 | exim(8) 專用的,exim4-config_files(5) |
/etc/postfix/generic
|
用於外發郵件的主機名偽裝 | postfix(1) 專用的,postmap(1) 命令執行後啟用。 |
/etc/aliases
|
用於接收郵件的賬戶別名 | 通用的,newaliases(1) 命令執行後啟用。 |
"/etc/mailname
" 檔案中的 mailname 通常是全稱域名 (FQDN),這個全程域名將會被解析成主機的 IP
地址。對於沒有可解析成 IP 地址的主機名的移動工作站,設定 mailname 為
"hostname -f
" 的值。(這對於 exim4-*
和
postfix
都是安全有效的選擇。)
![]() |
提示 |
---|---|
" |
![]() |
提示 |
---|---|
|
當設定 mailname 為 "hostname
-f
" 的值時,通過 MTA 的源郵件地址的偽裝可以通過如下所示的來實現。
用於
exim4(8)
的 "/etc/email-addresses
"
檔案,exim4-config_files(5)
手冊頁中有關於它的解釋
用於
postfix(1)
的 "/etc/postfix/generic
"
檔案,generic(5)
手冊頁中有關於它的解釋
對於 postfix
,接下來的額外步驟需要執行。
# postmap hash:/etc/postfix/generic # postconf -e 'smtp_generic_maps = hash:/etc/postfix/generic' # postfix reload
你能夠通過如下所示的來測試郵件地址配置。
exim(8)
用 -brw, -bf, -bF, -bV, ...
選項
postmap(1)
用 -q
選項。
![]() |
提示 |
---|---|
Exim 帶有一些有用的程式,例如
exiqgrep(8)
和
exipick(8)。參見
" |
這裡有一些基礎的 MTA 操作。有一些可能會通過 sendmail(1) 的相容性介面來實現。
表 6.7. 基礎 MTA 操作列表
exim 命令 | postfix 命令 | 說明 |
---|---|---|
sendmail
|
sendmail
|
從標準輸入讀取郵件並且安排投遞 (-bm )
|
mailq
|
mailq
|
列出帶有狀態和佇列 ID 的郵件佇列 (-bq )
|
newaliases
|
newaliases
|
初始化別名資料庫 (-I )
|
exim4 -q
|
postqueue -f
|
重新整理等待郵件 (-q )
|
exim4 -qf
|
postsuper -r ALL deferred; postqueue -f
|
重新整理所有郵件 |
exim4 -qff
|
postsuper -r ALL; postqueue -f
|
重新整理甚至已經凍結的郵件 |
exim4 -Mg queue_id
|
postsuper -h queue_id
|
通過郵件的佇列 ID 來凍結它 |
exim4 -Mrm queue_id
|
postsuper -d queue_id
|
通過郵件的佇列 ID 來移除它 |
N/A |
postsuper -d ALL
|
移除所有郵件 |
![]() |
提示 |
---|---|
往 " |
如果你訂閱了 Debian 相關的郵件列表,使用像 mutt
和 mew
這樣的 MUA 會是個不錯主意,同時對使用者來說,它們也是事實上的標準並且可以像預期的那樣工作良好。
表 6.8. 郵件使用者代理列表 (MUA)
軟件包 | 流行度 | 大小 | 類型 |
---|---|---|---|
evolution
|
V:31, I:229 | 475 | X GUI 程式 (GNOME3, groupware 套件) |
thunderbird
|
V:57, I:138 | 165180 | X GUI 程式 (GNOME2, 無品牌的 Mozilla Thunderbird) |
kmail
|
V:34, I:88 | 18011 | X GUI 程式 (KDE) |
mutt
|
V:37, I:313 | 7056 |
很有可能與 vim 一起使用的字元終端程式
|
mew
|
V:0, I:0 | 2325 |
(x)emacs 下的字元終端程式
|
按如下所示的自定義 "~/.muttrc
" ,與 vim
結合使用郵件使用者代理 (MUA) 軟體 mutt
。
# # User configuration file to override /etc/Muttrc # # spoof source mail address set use_from set hostname=example.dom set from="Name Surname <username@example.dom>" set signature="~/.signature" # vim: "gq" to reformat quotes set editor="vim -c 'set tw=72 et ft=mail'" # "mutt" goes to Inbox, while "mutt -y" lists mailboxes set mbox_type=Maildir # use qmail Maildir format for creating mbox set mbox=~/Mail # keep all mail boxes in $HOME/Mail/ set spoolfile=+Inbox # mail delivered to $HOME/Mail/Inbox set record=+Outbox # save fcc mail to $HOME/Mail/Outbox set postponed=+Postponed # keep postponed in $HOME/Mail/postponed set move=no # do not move Inbox items to mbox set quit=ask-yes # do not quit by "q" only set delete=yes # always delete w/o asking while exiting set fcc_clear # store fcc as non encrypted # Mailboxes in Maildir (automatic update) mailboxes `cd ~/Mail; /bin/ls -1|sed -e 's/^/+/' | tr "\n" " "` unmailboxes Maillog *.ev-summary ## Default #set index_format="%4C %Z %{%b %d} %-15.15L (%4l) %s" ## Thread index with senders (collapse) set index_format="%4C %Z %{%b %d} %-15.15n %?M?(#%03M)&(%4l)? %s" ## Default #set folder_format="%2C %t %N %F %2l %-8.8u %-8.8g %8s %d %f" ## just folder names set folder_format="%2C %t %N %f"
增加下面的內容到"/etc/mailcap
" 或 "~/.mailcap
"
來內鑲顯示 HTML 郵件和微軟 Word 附件.
text/html; lynx -force_html %s; needsterminal; application/msword; /usr/bin/antiword '%s'; copiousoutput; description="Microsoft Word Text"; nametemplate=%s.doc
![]() |
提示 |
---|---|
Mutt 能夠作為 IMAP 客戶端和 mailbox
格式轉換器.你可以使用" |
Mutt 能夠使用 msmtp 來配置多個源電子郵件地址使用多個相應的智慧主機。
![]() |
提示 |
---|---|
Msmtp 是一個 sendmail 模擬器,它允許和其它提供 |
讓我們考慮支援 3 個電子郵件地址作為例子:
"My Name1 <myaccount1@gmail.com>"
"My Name2 <myaccount2@gmail.com>"
"My Name3 <myaccount3@example.org>"
一個定製的 ~/.muttrc
例子,支援 3 個智慧主機用於 3 個不同的源電子郵件地址。
set use_from set from="My Name3 <myaccount3@example.org>" set reverse_name alternates myaccount1@gmail\.com|myaccount1@gmail\.com|myaccount3@example\.org # ... # MACRO macro compose "1" "<edit-from>^UMy Name1 \<myaccount1@gmail.com\>\n" macro compose "2" "<edit-from>^UMy Name2 \<myaccount2@gmail.com\>\n" macro compose "3" "<edit-from>^UMy Name3 \<myaccount3@example.org\>\n" send2-hook '~f myaccount1@gmail.com' "set sendmail = '/usr/bin/msmtp --read-envelope-from'" send2-hook '~f myaccount2@gmail.com' "set sendmail = '/usr/bin/msmtp --read-envelope-from'" send2-hook '~f myaccount3@example.org' "set sendmail = '/usr/bin/msmtp --read-envelope-from'" # ...
讓我們來安裝 msmtp-gnome
並按下面的方式設定
~/.msmtprc
。
defaults logfile ~/.msmtp.log domain myhostname.example.org tls on tls_starttls on tls_certcheck on tls_trust_file /etc/ssl/certs/ca-certificates.crt auth on port 587 auto_from account myaccount1@gmail.com host smtp.gmail.com from myaccount1@gmail.com user myaccount1@gmail.com account myaccount2@gmail.com host smtp.gmail.com from myaccount2@gmail.com user myaccount2@gmail.com account myaccount3@example.org host mail.example.org from myaccount3@example.org user myaccount3@example.org account default : myaccount3@example.org
然後,增加密碼資料到 Gnome 鑰匙環。例如:
$ secret-tool store --label=msmtp \ host smtp.gmail.com \ service smtp \ user myaccount1@gmail.com ...
![]() |
提示 |
---|---|
如果你不想使用 Gnome 鑰匙環,你可以透過安裝 |
而不是手動執行 MUA 去訪問遠端郵件並去處理它們,你可能希望自動化這些過程,然後把所有郵件都投遞到本地。遠端郵件檢索和轉發實用工具很適合你使用。
儘管
fetchmail(1)
已經成為 GNU/Linux 用於遠端郵件檢索的事實上的標準,作者現在還是喜歡
getmail(1)。如果你想要在下載郵件之前拒絕郵件來達到節省頻寬的目的,mailfilter
或 mpop
工具可能是很有用的。不管使用哪種郵件檢索實用程式,配置系統使之能夠投遞已檢索的郵件到 MDA
會是個不錯的主意,例如通過管道的 maildrop
。
getmail(1) 的配置在getmail documentation裡描述.這裡是我作為使用者搭建訪問多個 POP3帳號.
按如下所示的建立 "/usr/local/bin/getmails
"。
#!/bin/sh set -e if [ -f $HOME/.getmail/running ]; then echo "getmail is already running ... (if not, remove $HOME/.getmail/running)" >&2 pgrep -l "getmai[l]" exit 1 else echo "getmail has not been running ... " >&2 fi if [ -f $HOME/.getmail/stop ]; then echo "do not run getmail ... (if not, remove $HOME/.getmail/stop)" >&2 exit fi if [ "x$1" = "x-l" ]; then exit fi rcfiles="/usr/bin/getmail" for file in $HOME/.getmail/config/* ; do rcfiles="$rcfiles --rcfile $file" done date -u > $HOME/.getmail/running eval "$rcfiles $@" rm $HOME/.getmail/running
按如下所示的配置它。
$ sudo chmod 755 /usr/local/bin/getmails $ mkdir -m 0700 $HOME/.getmail $ mkdir -m 0700 $HOME/.getmail/config $ mkdir -m 0700 $HOME/.getmail/log
按如下所示的為每個 POP3 賬戶建立 "$HOME/.getmail/config/pop3_name
"
配置檔案。
[retriever] type = SimplePOP3SSLRetriever server = pop.example.com username = pop3_name@example.com password = <your-password> [destination] type = MDA_external path = /usr/bin/maildrop unixfrom = True [options] verbose = 0 delete = True delivered_to = False message_log = ~/.getmail/log/pop3_name.log
按如下所示的配置它。
$ chmod 0600 $HOME/.getmail/config/*
計劃使用
cron(8)
每 15 分鐘執行一次 "/usr/local/bin/getmails
",通過執行 "sudo
crontab -e -u <user_name>
" 並把如下所示的命令新增到使用者的 cron 條目中。
5,20,35,50 * * * * /usr/local/bin/getmails --quiet
![]() |
提示 |
---|---|
POP3 訪問的問題可能並不來自於 |
大多數 MTA 程式,例如 postfix
和 exim4
,兼任 MDA
(郵件投遞代理)。這裡有專門的帶有過濾功能的 MDA。
儘管 procmail(1) 已經成為 GUN/Linux 上關於帶有過濾器的 MDA 的事實標準,作者現在還是喜歡 maildrop(1)。不管使用哪種過濾程式,配置系統使之能投遞已過濾的郵件到 qmail 風格的 Maildir 都是一個好主意。
maildrop(1)
配置在 maildropfilter
documentation 中有說明。這裡有一個關於 "$HOME/.mailfilter
檔案的配置例子。
# Local configuration MAILROOT="$HOME/Mail" # set this to /etc/mailname contents MAILHOST="example.dom" logfile $HOME/.maildroplog # rules are made to override the earlier value by the later one. # mailing list mails ? if ( /^Precedence:.*list/:h || /^Precedence:.*bulk/:h ) { # rules for mailing list mails # default mailbox for mails from mailing list MAILBOX="Inbox-list" # default mailbox for mails from debian.org if ( /^(Sender|Resent-From|Resent-Sender): .*debian.org/:h ) { MAILBOX="service.debian.org" } # default mailbox for mails from bugs.debian.org (BTS) if ( /^(Sender|Resent-From|Resent-sender): .*@bugs.debian.org/:h ) { MAILBOX="bugs.debian.org" } # mailbox for each properly maintained mailing list with "List-Id: foo" or "List-Id: ...<foo.bar>" if ( /^List-Id: ([^<]*<)?([^<>]*)>?/:h ) { MAILBOX="$MATCH2" } } else { # rules for non-mailing list mails # default incoming box MAILBOX="Inbox-unusual" # local mails if ( /Envelope-to: .*@$MAILHOST/:h ) { MAILBOX="Inbox-local" } # html mails (99% spams) if ( /DOCTYPE html/:b ||\ /^Content-Type: text\/html/ ) { MAILBOX="Inbox-html" } # blacklist rule for spams if ( /^X-Advertisement/:h ||\ /^Subject:.*BUSINESS PROPOSAL/:h ||\ /^Subject:.*URGENT.*ASISSTANCE/:h ||\ /^Subject: *I NEED YOUR ASSISTANCE/:h ) { MAILBOX="Inbox-trash" } # whitelist rule for normal mails if ( /^From: .*@debian.org/:h ||\ /^(Sender|Resent-From|Resent-Sender): .*debian.org/:h ||\ /^Subject: .*(debian|bug|PATCH)/:h ) { MAILBOX="Inbox" } # whiltelist rule for BTS related mails if ( /^Subject: .*Bug#.*/:h ||\ /^(To|Cc): .*@bugs.debian.org/:h ) { MAILBOX="bugs.debian.org" } # whitelist rule for getmails cron mails if ( /^Subject: Cron .*getmails/:h ) { MAILBOX="Inbox-getmails" } } # check existance of $MAILBOX `test -d $MAILROOT/$MAILBOX` if ( $RETURNCODE == 1 ) { # create maildir mailbox for $MAILBOX `maildirmake $MAILROOT/$MAILBOX` } # deliver to maildir $MAILBOX to "$MAILROOT/$MAILBOX/" exit
![]() |
警告 |
---|---|
不像 |
這裡有一個
procmail(1)
的 "$HOME/.procmailrc
" 檔案的類似配置例子。
MAILDIR=$HOME/Maildir DEFAULT=$MAILDIR/Inbox/ LOGFILE=$MAILDIR/Maillog # clearly bad looking mails: drop them into X-trash and exit :0 * 1^0 ^X-Advertisement * 1^0 ^Subject:.*BUSINESS PROPOSAL * 1^0 ^Subject:.*URGENT.*ASISSTANCE * 1^0 ^Subject: *I NEED YOUR ASSISTANCE X-trash/ # Delivering mailinglist messages :0 * 1^0 ^Precedence:.*list * 1^0 ^Precedence:.*bulk * 1^0 ^List- * 1^0 ^X-Distribution:.*bulk { :0 * 1^0 ^Return-path:.*debian-devel-admin@debian.or.jp jp-debian-devel/ :0 * ^Resent-Sender.*debian-user-request@lists.debian.org debian-user/ :0 * ^Resent-Sender.*debian-devel-request@lists.debian.org debian-devel/ :0 * ^Resent-Sender.*debian-announce-request@lists.debian.org debian-announce :0 mailing-list/ } :0 Inbox/
如果將要在區域網上執行一個私有伺服器,你應該考慮執行 POP3 / IMAP4 伺服器,用來投遞郵件到區域網客戶端。
表 6.11. POP3/IMAP4 伺服器列表
軟件包 | 流行度 | 大小 | 類型 | 說明 |
---|---|---|---|---|
courier-pop
|
V:2, I:2 | 308 | POP3 | Courier 郵件伺服器 - POP3 伺服器 (只有 maildir 格式) |
cyrus-pop3d
|
V:0, I:0 | 160 | POP3 | Cyrus 郵件系統 (支援 POP3) |
courier-imap
|
V:3, I:4 | 589 | IMAP | Courier 郵件伺服器 - IMAP 伺服器 (只支援 maildir 格式) |
cyrus-imapd
|
V:1, I:1 | 484 | IMAP | Cyrus 郵件系統 (支援 IMAP) |
在老的類 Unix 系統,BSD Line printer daemon 行印表機後臺守護 是標準。因此,在類 Unix 系統中,自由軟體的標準列印輸出格式是 PostScript,為了能夠列印到非 PostScript 印表機,需要將一些過濾器系統和 Ghostscript 一道使用。
近來, Common UNIX Printing System 通用 UNIX 列印系統 (CUPS) 是新的事實標準。CUPS 使用 Internet Printing Protocol 網際網路列印協議 (IPP). IPP 現在已經被其它作業系統,如 Windows XP 和 Mac OS X,支援。它已經變成新的具備雙向通訊能力的跨平臺遠端列印的事實標準。
Debian 系統上的應用程式的標準列印資料格式是 PostScript (PS) ,它是一個頁描述語言。PS 格式的資料被送到 Ghostscript PostScript 直譯器來生成特定的印表機可列印的資料。參見 第 11.4.1 节 “Ghostscript”.
幸虧有 CUPS 系統的檔案格式依賴自動轉化特徵,簡單的傳送任何資料到 lpr
命令,都將產生期望的列印輸出。(在
CUPS 裡, lpr
能夠通過安裝 cups-bsd
軟體包來獲取.)
Debian 系統有一些不錯的軟體包用於列印服務和作為列印工具。
表 6.12. 列印服務和工具列表
軟件包 | 流行度 | 大小 | 埠 | 說明 |
---|---|---|---|---|
lpr
|
V:3, I:4 | 362 | printer (515) | BSD lpr/lpd (線性印表機後臺守護程序 daemon) |
lprng
|
V:1, I:1 | 3064 | 同上 | , , (增強) |
cups
|
V:140, I:395 | 1141 | IPP (631) | 網際網路列印 CUPS 伺服器 |
cups-client
|
V:56, I:454 | 493 | 同上 | 用於 CUPS 的 System V 印表機命令: lp(1), lpstat(1), lpoptions(1), cancel(1), lpmove(8), lpinfo(8), lpadmin(8), … |
cups-bsd
|
V:36, I:385 | 122 | 同上 | 用於 CUPS 的 BSD 印表機命令: lpr(1), lpq(1), lprm(1), lpc(8) |
printer-driver-gutenprint
|
V:100, I:372 | 937 | 沒有使用 | CUPS 印表機驅動 |
![]() |
提示 |
---|---|
你可以讓你的 web 瀏覽器訪問 "http://localhost:631/" 來配置 CUPS 系統。 |
Secure SHell (SSH) 是因特網上的 安全 連線方式。在 Debian 裡面,有一個叫 OpenSSH 的免費 SSH 版本,在
openssh-client
和 openssh-server
包裡。
表 6.13. 伺服器遠端訪問和工具列表
軟件包 | 流行度 | 大小 | 工具 | 說明 |
---|---|---|---|---|
openssh-client
|
V:803, I:996 | 4298 | ssh(1) | SSH 客戶端 |
openssh-server
|
V:690, I:834 | 1567 | sshd(8) | SSH 服務端 |
ssh-askpass-fullscreen
|
V:0, I:0 | 42 | ssh-askpass-fullscreen(1) | 請求使用者輸入密碼的 ssh-add (GNOME2) |
ssh-askpass
|
V:3, I:34 | 106 | ssh-askpass(1) | 請求使用者輸入密碼的 ssh-add (plain X) |
![]() |
小心 |
---|---|
如果你的 SSH 是從因特網來訪問,參見 第 4.7.3 节 “網際網路額外的安全方式”。 |
![]() |
提示 |
---|---|
請使用 screen(1) 程式來讓遠端 shell 在中斷的連線上存活(參見 第 9.1 节 “screen 程式”). |
![]() |
警告 |
---|---|
如果想要執行 OpenSSH 服務," |
SSH 有兩個認證協議。
表 6.14. SSH 認證協議和方式列表
SSH 協議 | SSH 方式 | 說明 |
---|---|---|
SSH-1 |
"RSAAuthentication "
|
基於 RSA 身份祕鑰的使用者認證 |
同上 |
"RhostsAuthentication "
|
".rhosts " 基於主機的認證(不安全,禁用)
|
同上 |
"RhostsRSAAuthentication "
|
".rhosts " 使用 RSA 主機祕鑰的主機認證(禁用)
|
同上 |
"ChallengeResponseAuthentication "
|
RSA 質疑-應答 認證 |
同上 |
"PasswordAuthentication "
|
基於密碼的認證 |
SSH-2 |
"PubkeyAuthentication "
|
基於公鑰的使用者認證 |
同上 |
"HostbasedAuthentication "
|
"~/.rhosts " or "/etc/hosts.equiv "
使用客戶端主機公鑰的主機認證(禁用)
|
同上 |
"ChallengeResponseAuthentication "
|
質疑-應答 認證 |
同上 |
"PasswordAuthentication "
|
基於密碼的認證 |
![]() |
小心 |
---|---|
如果你使用一個非 Debian 的系統,請小心注意這些不同。 |
細節參見 "/usr/share/doc/ssh/README.Debian.gz
",
ssh(1),
sshd(8),
ssh-agent(1),
and
ssh-keygen(1).
下面是祕鑰配置檔案。
表 6.15. SSH 配置檔案列表
配置檔案 | 配置檔案描述 |
---|---|
/etc/ssh/ssh_config
|
SSH 客戶端預設, 參見 ssh_config(5) |
/etc/ssh/sshd_config
|
SSH 服務端預設, 參見 sshd_config(5) |
~/.ssh/authorized_keys
|
該賬戶連線到這個伺服器上的客戶端使用的預設 SSH 公鑰 |
~/.ssh/identity
|
使用者的 SSH-1 RSA 私鑰 |
~/.ssh/id_rsa
|
使用者的 SSH-2 RSA 私鑰 |
~/.ssh/id_dsa
|
使用者的 SSH-2 DSA 私鑰 |
![]() |
提示 |
---|---|
參見 ssh-keygen(1), ssh-add(1) 和 ssh-agent(1) 來了解怎樣使用 SSH 公鑰和私鑰。 |
![]() |
提示 |
---|---|
一定要通過連線測試來確認設定。有任何問題的連線,使用 " |
![]() |
提示 |
---|---|
稍後可以使用 " |
![]() |
提示 |
---|---|
你可以在 " |
從客戶端啟動一個 ssh(1) 連線.
表 6.16. SSH 客戶端啟動例子列表
命令 | 說明 |
---|---|
ssh username@hostname.domain.ext
|
使用預設模式連線 |
ssh -v username@hostname.domain.ext
|
有詳細資訊的預設連線模式 |
ssh -1 username@hostname.domain.ext
|
強制使用 SSH 1 版本連線 |
ssh -1 -o RSAAuthentication=no -l username
hostname.domain.ext
|
SSH 1 版本,強制使用密碼 |
ssh -o PreferredAuthentications=password -l username
hostname.domain.ext
|
SSH 2 版本,強制使用密碼 |
如果本地和遠端主機,使用同樣的使用者名稱,你可以省略輸入
"username@
". 即使在本地和遠端主機使用不同的使用者名稱,你可以使用
"~/.ssh/config
" 來省略輸入使用者名稱.對於 Debian Salsa 伺服器,使用賬戶名
"foo-guest
",你可以設定 "~/.ssh/config
"
包含下面的內容。
Host salsa.debian.org people.debian.org User foo-guest
對於使用者來講,
ssh(1)
功能比telnet(1)
更加智慧和安全. 不像 telnet
命令, ssh
命令不會在遇到
telnet
的退出字元(初始預設是 CTRL-])時停止.
通過 ssh
建立一個這樣的管道連線,從 localhost
的 4025
埠到 remote-server
的 25 埠,並從 localhost
的
4110 埠到 remote-server
的 110 埠,請在本機執行如下命令.
# ssh -q -L 4025:remote-server:25 4110:remote-server:110 username@remote-server
這是跨越因特網建立 SMTP/POP3
服務連線的安全方法。在遠端主機"/etc/ssh/sshd_config
"裡設定"AllowTcpForwarding
"條目為
"yes
".
使用 "RSAAuthentication
" (SSH-1 協議) 或
"PubkeyAuthentication
" (SSH-2 協議),人們可以避免記住遠端系統的密碼.
在遠端系統的"/etc/ssh/sshd_config
"裡,設定相應的條目,
"RSAAuthentication yes
" 或 "PubkeyAuthentication
yes
"。
在本地生成授權祕鑰對,並安裝公鑰到遠端系統。
"RSAAuthentication
": SSH-1 的 RSA key (不建議使用,因為已被廢棄.)
$ ssh-keygen $ cat .ssh/identity.pub | ssh user1@remote "cat - >>.ssh/authorized_keys"
"PubkeyAuthentication
": SSH-2 的 RSA key
$ ssh-keygen -t rsa $ cat .ssh/id_rsa.pub | ssh user1@remote "cat - >>.ssh/authorized_keys"
"PubkeyAuthentication
": SSH-2 的 DSA key(不建議,因為慢.)
$ ssh-keygen -t dsa $ cat .ssh/id_dsa.pub | ssh user1@remote "cat - >>.ssh/authorized_keys"
![]() |
提示 |
---|---|
使用 SSH-2 的 DSA key 是不建議的,應為 key 較小並且慢。由於 RSA 專利已經過期,沒有理由使用 DSA 來作為規避 RSA 專利的臨時措施。DSA 表示 Digital Signature Algorithm,速度慢。同時參見 DSA-1571-1. |
![]() |
注意 |
---|---|
為了讓 " |
其它平臺上有一些免費的 SSH 客戶端。
表 6.17. 其它平臺上免費 SSH 客戶端列表
環境 | 免費 SSH 程式 |
---|---|
Windows | puTTY (http://www.chiark.greenend.org.uk/~sgtatham/putty/) (GPL) |
Windows (cygwin) | cygwin 裡的 SSH (http://www.cygwin.com/) (GPL) |
Macintosh 類 | macSSH (http://www.macssh.com/) (GPL) |
Mac OS X |
OpenSSH;在終端應用中使用 ssh (GPL)
|
用密碼來保護你的 SSH 認證私鑰是安全的。如果密碼沒有設定,使用 "ssh-keygen -p
" 來設定。
把你的公鑰 (比如:"~/.ssh/id_rsa.pub
")
放到遠端主機的"~/.ssh/authorized_keys
",這個遠端主機使用上面描述的基於密碼的連線方式。
$ ssh-agent bash $ ssh-add ~/.ssh/id_rsa Enter passphrase for /home/<username>/.ssh/id_rsa: Identity added: /home/<username>/.ssh/id_rsa (/home/<username>/.ssh/id_rsa)
從這裡執行接下來的命令,就不再需要密碼。
$ scp foo <username>@remote.host:foo
按 ^D 來終結 ssh 代理會話。
對於 X 服務端,通常的 Debian 啟動指令碼會作為父程序執行 ssh-agent
。所以你只需要執行一次
ssh-add
。進一步的資訊,請閱讀
ssh-agent(1)
和
ssh-add(1).
你可以使用
at(1)
命令 (參見 第 9.3.13 节 “單次任務時間安排”)來從 SSH
終端裡保護"shutdown -h now
" (參見 第 1.1.8 节 “怎樣關閉系統”)操作過程。
# echo "shutdown -h now" | at now
在
screen(1)
(參見 第 9.1 节 “screen 程式”) 會話裡執行 "shutdown -h
now
",是另外一個方法來做這同樣的事情。
這裡是其它網路應用服務。
表 6.18. 其它網路應用服務列表
軟件包 | 流行度 | 大小 | 協議 | 說明 |
---|---|---|---|---|
telnetd
|
V:1, I:3 | 115 | TELNET | TELNET 服務 |
telnetd-ssl
|
V:0, I:0 | 170 | 同上 | TELNET 服務( 支援SSL) |
nfs-kernel-server
|
V:38, I:79 | 342 | NFS | Unix 檔案共享 |
samba
|
V:102, I:159 | 16629 | SMB | Windows 檔案和列印共享 |
netatalk
|
V:2, I:3 | 2077 | ATP | Apple/Mac 檔案和列印共享(AppleTalk) |
proftpd-basic
|
V:24, I:32 | 488 | FTP | 通用檔案下載 |
apache2
|
V:246, I:315 | 610 | HTTP | 通用 web 伺服器 |
squid
|
V:13, I:15 | 8385 | 同上 | 通用 web 代理伺服器 |
squid3
|
V:4, I:10 | 240 | 同上 | 同上 |
bind9
|
V:52, I:65 | 1063 | DNS | 其它主機的 IP 地址 |
isc-dhcp-server
|
V:18, I:54 | 1471 | DHCP | 客戶端自身的 IP 地址 |
通用網際網路檔案系統協議(CIFS) 和服務訊息塊(SMB) 協議一樣,被微軟 Windows 廣泛應用。
![]() |
提示 |
---|---|
參見 第 4.5.2 节 “現代的集中式系統管理” 服務系統整合。 |
![]() |
提示 |
---|---|
主機名解析通常由 DNS 服務提供. 對於由 DHCP 動態分配的主機 IP 地址, 動態
DNS 能夠使用 |
![]() |
提示 |
---|---|
使用 |
這裡是其它網路應用客戶端。
表 6.19. 網路應用客戶端列表
軟件包 | 流行度 | 大小 | 協議 | 說明 |
---|---|---|---|---|
netcat
|
I:41 | 16 | TCP/IP | TCP/IP 瑞士軍刀 |
openssl
|
V:794, I:993 | 1465 | SSL | 安全套接字層 (SSL)二進位制和相關的加密工具 |
stunnel4
|
V:5, I:17 | 507 | 同上 | 通用 SSL 封裝 |
telnet
|
V:65, I:904 | 163 | TELNET | TELNET 客戶端 |
telnet-ssl
|
V:0, I:3 | 210 | 同上 | TELNET 服務( 支援SSL) |
nfs-common
|
V:181, I:343 | 768 | NFS | Unix 檔案共享 |
smbclient
|
V:16, I:174 | 2016 | SMB | 微軟 Windows 檔案和列印共享客戶端 |
cifs-utils
|
V:32, I:123 | 299 | 同上 | 遠端微軟 Windows 檔案系統掛載和解除安裝命令 |
ftp
|
V:18, I:282 | 137 | FTP | FTP 客戶端 |
lftp
|
V:6, I:39 | 2255 | 同上 | 同上 |
ncftp
|
V:3, I:22 | 1339 | 同上 | 全屏 FTP 客戶端 |
wget
|
V:288, I:988 | 3477 | HTTP 和 FTP | web 下載工具 |
curl
|
V:151, I:548 | 426 | 同上 | 同上 |
axel
|
V:0, I:4 | 216 | 同上 | 下載加速器 |
aria2
|
V:2, I:19 | 1854 | 同上 | BitTorrent 和 Metalink 支援的下載加速器 |
bind9-host
|
V:382, I:948 | 365 | DNS | 來自 bind9 的
host(1),
"Priority: standard "
|
dnsutils
|
V:64, I:517 | 256 | 同上 | 來自 bind 的
dig(1),
"Priority: standard "
|
isc-dhcp-client
|
V:231, I:979 | 686 | DHCP | 獲得 IP 地址 |
ldap-utils
|
V:14, I:75 | 718 | LDAP | 從 LDAP 服務獲取資料 |
telnet
程式能夠手工連線到系統後臺守護程序(daemon),並進行診斷。
測試純 POP3 服務,嘗試用下面的操作
$ telnet mail.ispname.net pop3
部分 ISP 提供 TLS/SSL 加密的POP3 服務,為了測試它,你需要用到 telnet-ssl
包裡支援
TLS/SSL 的 telnet
客戶端,或 openssl
軟體包。
$ telnet -z ssl pop.gmail.com 995
$ openssl s_client -connect pop.gmail.com:995
下面的 RFCs 提供每一個系統後臺守護程序(daemon)所需要的知識。
在 "/etc/services
" 裡,描述了埠用途.