久久精品水蜜桃av综合天堂,久久精品丝袜高跟鞋,精品国产肉丝袜久久,国产一区二区三区色噜噜,黑人video粗暴亚裔

Debian郵件系統(tǒng)

2024-01-15 196

Debian郵件系統(tǒng)提供了用戶和服務(wù)器之間通信的基礎(chǔ),現(xiàn)代的郵件服務(wù)限制了用戶可以發(fā)送和接收的信息量,同時也對服務(wù)器的性能提出了更高的要求。常用的郵件傳輸代理有exim4和postfix。本篇教程主要介紹消費者級互聯(lián)網(wǎng)連接的典型的移動工作站。

一、電子郵件基礎(chǔ)

電子郵件由三個部分組成,消息的信封,郵件頭及郵件正文。

  • SMTP 用電子郵件信封上的 “To” 和 “From” 信息來投遞郵件;(信封上的 “From” 信息也被叫做退回地址, 例如 From_ 等等)
  • 電子郵件頭的”To” 和 “From” 信息,顯示在 電子郵件客戶端上;(在大部分情況下,這些信息是跟電子郵件信封一致,但并不全是這樣。)
  • 覆蓋郵件頭和正文數(shù)據(jù)的電子郵件消息格式被 多用途互聯(lián)網(wǎng)郵件擴(kuò)展 (MIME) 擴(kuò)展,從純文本的 ASCII 到其它字符編碼,包括作為附件的音頻、視頻、圖像和應(yīng)用程序。

功能全面的基于 電子郵件客戶端的 GUI 程序使用基于 GUI 的直觀的配置,提供下列所有功能。

  • 為了處理正文數(shù)據(jù)類型及其編碼,它創(chuàng)建和使用多用途互聯(lián)網(wǎng)郵件擴(kuò)展 (MIME)來解釋郵件標(biāo)頭和郵件正文;
  • 它使用舊的 基礎(chǔ)訪問認(rèn)證 或現(xiàn)代的 OAuth 2.0向 ISP(互聯(lián)網(wǎng)服務(wù)提供商)的 SMTP 和 IMAP 服務(wù)器認(rèn)證它自己; (對于 OAuth 2.0,通過桌面環(huán)境設(shè)置來設(shè)置它,例如,”Settings” -> “Online Accounts”.)
  • 它發(fā)送消息到 ISP 的智能主機(jī)的 SMTP 服務(wù)監(jiān)聽的消息遞交端口(587);
  • 從 TLS/IMAP4 端口(993)接收存儲在 ISP 的服務(wù)器上的消息;
  • 它能夠通過他們的屬性過濾郵件;
  • 它能夠提供額外的功能:聯(lián)系人、日歷、任務(wù)、備忘錄。

郵件用戶代理列表 (MUA):

軟件包 流行度 大小 類型
evolution V:30, I:236 484 X GUI 程序 (GNOME3, groupware 套件)
thunderbird V:52, I:121 224527 X GUI 程序 (GTK,?Mozilla Thunderbird)
kmail V:37, I:95 23871 X GUI 程序 (KDE)
mutt V:17, I:157 7104 很有可能與?vim?一起使用的字符終端程序
mew V:0, I:0 2319 (x)emacs?下的字符終端程序

二、現(xiàn)代郵件服務(wù)限制

現(xiàn)代郵件服務(wù)器有一些限制來最小化暴露濫用(不希望和未被要求的電子郵件)問題。

1、在消費者級的網(wǎng)絡(luò)上運(yùn)行 SMTP 服務(wù)器來直接可靠的發(fā)送郵件到遠(yuǎn)端主機(jī)是不現(xiàn)實的;

2、一個郵件能夠被任何主機(jī)靜悄悄的拒絕,即使路由到了目的地,除非它盡可能看起來是經(jīng)過認(rèn)證的;

3、期望單個智能主機(jī)可靠的發(fā)送不相關(guān)的源郵件地址到遠(yuǎn)程主機(jī),這是不現(xiàn)實的。

這是因為:

  • 從消費者級網(wǎng)絡(luò)提供的主機(jī)連接到互聯(lián)網(wǎng)的 SMTP 端口(25)已經(jīng)被封鎖了;
  • 從互聯(lián)網(wǎng)的 SMTP 端口(25)連接到消費者級網(wǎng)絡(luò)提供的主機(jī)已經(jīng)被封鎖了;
  • 從消費者級網(wǎng)絡(luò)提供的主機(jī)發(fā)出到互聯(lián)網(wǎng)的消息,只能夠通過消息遞交端口(587)發(fā)送;
  • 像域名密鑰識別郵件 (DKIM)、發(fā)信者策略框架 (SPF) 和 基于域名的消息認(rèn)證、報告和反應(yīng)(DMARC) 這樣的反垃圾郵件技術(shù)廣泛用于電子郵件過濾;
  • 域名密鑰識別郵件服務(wù)可能會用于通過 smarthost 的電子郵件發(fā)送;
  • 智能主機(jī)可以在郵件頭重寫源電子郵件地址為郵件賬戶,來阻止電子郵件欺詐。

三、歷史郵件服務(wù)端

一些在 Debian 上的程序,它們默認(rèn)期望訪問 /usr/sbin/sendmail 命令來發(fā)送郵件,或者從一個個性化設(shè)置的 UNIX 系統(tǒng)郵件服務(wù)器來發(fā)送郵件,實現(xiàn)歷史的功能:

  • 郵件是由純文本文件創(chuàng)建;
  • 郵件是由 /usr/sbin/sendmail 命令處理;
  • 對于目的地址為同一主機(jī),/usr/sbin/sendmail 命令進(jìn)行郵件的本地分發(fā),將郵件附在 /var/mail/$username 文件后;期望這個特征的命令: apt-listchanges, cron, at, …
  • 對于目的地址在遠(yuǎn)程主機(jī),/usr/sbin/sendmail 命令遠(yuǎn)程傳輸郵件到目的主機(jī),使用 SMTP 發(fā)現(xiàn) DNS MX 記錄。期望這個特征的命令:popcon, reportbug, bts, …

四、郵件傳輸代理 (MTA)

在 Debian 12 Bookworm 后,在沒有 mail transfer agent (MTA) 程序的情況下,Debian 移動工作站可以基于 電子郵件客戶端,配置為全功能的 GUI (圖像用戶界面)。

以往的 Debian 會安裝某個 MTA 程序來支持期望 /usr/sbin/sendmail 命令的程序。對于移動工作站,典型的 MTA 選擇是 exim4-daemon-light 或 postfix,并選擇類似這樣的安裝選項:“Mail sent by smarthost; received via SMTP or fetchmail”。這些是輕量 MTA 和 “/etc/aliases” 匹配。

配置 exim4 來發(fā)送互聯(lián)網(wǎng)郵件,多個源電子郵件地址使用多個相應(yīng)的智能主機(jī),這是不尋常的。如果一些程序需要這樣的能力,使用 msmtp 來設(shè)置他們,它比較容易來設(shè)置多個源電子郵件地址。然后給主 MTA 僅僅保留單個電子郵件地址。

基礎(chǔ)的郵件傳輸代理相關(guān)的軟件包列表:

軟件包 流行度 大小 說明
exim4-daemon-light V:222, I:234 1574 Exim4 郵件傳輸代理 (MTA : Debian 默認(rèn)的)
exim4-daemon-heavy V:6, I:6 1742 Exim4 郵件傳輸代理 (MTA : 靈活的替代品)
exim4-base V:228, I:242 1701 Exim4 文檔 (文本) 和通用文件
exim4-doc-html I:1 3746 Exim4 文檔 (html)
exim4-doc-info I:0 637 Exim4 文檔 (info)
postfix V:128, I:136 4031 Postfix 郵件傳輸代理 (MTA : 安全的替代品)
postfix-doc I:7 4634 Postfix 文檔 (html+text)
sasl2-bin V:5, I:14 371 Cyrus SASL API 實現(xiàn) (實現(xiàn) postfix SMTP 認(rèn)證)
cyrus-sasl2-doc I:1 2154 Cyrus SASL – 文檔
msmtp V:6, I:11 667 輕量 MTA
msmtp-mta V:5, I:6 125 輕量 MTA (sendmail 兼容擴(kuò)展到msmtp)
esmtp V:0, I:0 129 輕量 MTA
esmtp-run V:0, I:0 32 輕量 MTA(sendmail 兼容擴(kuò)展到esmtp)
nullmailer V:8, I:9 474 部分功能 MTA,沒有本地郵件
ssmtp V:5, I:8 2 部分功能 MTA,沒有本地郵件
sendmail-bin V:13, I:14 1877 全功能 MTA(如果你已經(jīng)對它熟悉)
courier-mta V:0, I:0 2408 全功能 MTA(web 接口等.)

1、exim4的配置

對于那些通過 smarthost 的網(wǎng)絡(luò)郵件,應(yīng)該按如下所示的 (重新) 配置 exim4-* 軟件包。

$ sudo systemctl stop exim4
$ sudo dpkg-reconfigure exim4-config
  • 配置 “General type of mail configuration” 時,選擇 “mail sent by smarthost; received via SMTP or fetchmail”;
  • 設(shè)置 “System mail name:” 為默認(rèn)的 FQDN;
  • 設(shè)置 “IP-addresses to listen on for incoming SMTP connections:” 為默認(rèn)的 “127.0.0.1; ::1″;
  • “Other destinations for which mail is accepted:” 選項留空;
  • “Machines to relay mail for:” 選項留空;
  • 設(shè)置 “IP address or host name of the outgoing smarthost:” 為 “smtp.hostname.dom:587″;
  • 設(shè)置 “Hide local mail name in outgoing mail?” 選項為 “NO”。

選擇如下所示的其中一個來回答 “Keep number of DNS-queries minimal (Dial-on-Demand)?”。

  • “No” 如果啟動的時候,系統(tǒng)就連上了互聯(lián)網(wǎng);
  • “Yes” 如果啟動的時候,系統(tǒng)沒有連上互聯(lián)網(wǎng)。

設(shè)置 “Delivery method for local mail:” 選項為 “mbox format in /var/mail/”。”Split configuration into small files?:” 選項設(shè)為 “Yes”。

通過修改 “/etc/exim4/passwd.client” 文件,來創(chuàng)建用于 smarthost 的密碼條目。

$ sudo vim /etc/exim4/passwd.client
...
$ cat /etc/exim4/passwd.client
^smtp.*\.hostname\.dom:username@hostname.dom:password

配置 exim4(8),在 “/etc/default/exim4” 文件中寫入 “QUEUERUNNER=’queueonly'”,”QUEUERUNNER=’nodaemon'” 等等,來最小化系統(tǒng)資源使用。

通過如下所示的啟動 exim4。

$ sudo systemctl start exim4

“/etc/exim4/passwd.client” 文件中的主機(jī)名不應(yīng)該是別名,應(yīng)該按如下所示的檢查真正的主機(jī)名。

$ 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” 文件中使用正則表達(dá)式來繞過別名問題。即使 ISP 更改了別名所指向的主機(jī)名,SMTP AUTH 還是可能工作的。能夠通過如下所示的手動更新 exim4 配置:

更新 “/etc/exim4/” 目錄下的 exim4 配置文件:

  • 創(chuàng)建 “/etc/exim4/exim4.conf.localmacros” 來設(shè)置宏命令和修改 “/etc/exim4/exim4.conf.template” 文件;
  • 在 ”/etc/exim4/exim4.conf.d” 子目錄中創(chuàng)建新文件或編輯已存在的文件。(分割的配置)

運(yùn)行 “systemctl reload exim4″:

如果 debconf 詢問 “Keep number of DNS-queries minimal (Dial-on-Demand)?” 這個問題時,選擇 了 “No” (默認(rèn)值),那么啟動 exim4 會花很長時間并且系統(tǒng)在啟動的時候不會連接到互聯(lián)網(wǎng)。

注意:從所有的實踐考慮,使用帶 STARTTLS 的 SMTP 端口 587,或者 SMTPS (SSL 之上的 SMTP ) 端口 465, 代替純 SMTP 端口 25。

2、帶有 SASL 的 postfix 配置

重要的 postfix 手冊頁列表:

命令 功能
postfix(1) Postfix 控制程序
postconf(1) Postfix 配置工具
postconf(5) Postfix 配置參數(shù)
postmap(1) Postfix 查找表維護(hù)
postalias(1) Postfix 別名數(shù)據(jù)庫維護(hù)

應(yīng)該按如下所示的 (重新) 配置 postfix 和 sasl2-bin 軟件包。

$ sudo systemctl stop postfix
$ sudo dpkg-reconfigure postfix

選擇 “Internet with smarthost”。

設(shè)置 “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 創(chuàng)建密碼條目。

$ cat /etc/postfix/sasl_passwd
[smtp.hostname.dom]:587 username:password
$ sudo postmap hush:/etc/postfix/sasl_passwd

通過如下所示的啟動 postfix。

$ sudo systemctl start postfix

3、郵件地址配置

這里有一些用于郵件傳輸、投遞和用戶代理的郵件地址配置文件。

與郵件地址相關(guān)的配置文件列表:

文件 功能 應(yīng)用
/etc/mailname 用于 (外發(fā)) 郵件的默認(rèn)主機(jī)名 Debian 專用的,mailname(5)
/etc/email-addresses 用于外發(fā)郵件的主機(jī)名偽裝 exim(8) 專用的,exim4-config_files(5)
/etc/postfix/generic 用于外發(fā)郵件的主機(jī)名偽裝 postfix(1) 專用的,postmap(1) 命令執(zhí)行后激活。
/etc/aliases 用于接收郵件的賬戶別名 通用的,newaliases(1) 命令執(zhí)行后激活。

“/etc/mailname” 文件中的 mailname 通常是全稱域名 (FQDN),這個全程域名將會被解析成主機(jī)的 IP 地址。對于沒有可解析成 IP 地址的主機(jī)名的移動工作站,設(shè)置 mailname 為 “hostname -f” 的值。(這對于 exim4-* 和 postfix 都是安全有效的選擇。)

“/etc/mailname” 中的內(nèi)容被許多非 MTA 程序用作它們的默認(rèn)行為。對于 mutt, 在~/muttrc 文件中設(shè)置 “hostname” 和 “from” 變量來覆蓋 mailname 值。對于 devscripts 軟件包的程序,例如 bts(1) 和 dch(1),導(dǎo)出環(huán)境變量 “$DEBFULLNAME” 和 “$DEBEMAIL” 的值來覆蓋它。

popularity-contest 軟件包一般以 FQDN 形式的 root 賬戶發(fā)送郵件。需要像 /usr/share/popularity-contest/default.conf 文件中描述的那樣去設(shè)置 /etc/popularity-contest.conf 文件中的 MAILFROM 值。否則,郵件會被 smarthost SMTP 服務(wù)器拒絕。盡管這些過程很乏味,這種方法比為所有通過 MTA 并且是以 root 用戶發(fā)送的郵件重寫源地址更安全。這也可以被其他守護(hù)進(jìn)程或者是 cron 腳本使用。

當(dāng)設(shè)置 mailname 為 “hostname -f” 的值時,通過 MTA 的源郵件地址的偽裝可以通過如下所示的來實現(xiàn)。

對于 postfix,接下來的額外步驟需要執(zhí)行:

# 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 選項。

4、基礎(chǔ) MTA 操作

這里有一些基礎(chǔ)的 MTA 操作,其中可能會通過 sendmail(1) 的兼容性接口來實現(xiàn)。

基礎(chǔ) MTA 操作列表:

exim 命令 postfix 命令 說明
sendmail sendmail 從標(biāo)準(zhǔn)輸入讀取郵件并且安排投遞 (-bm)
mailq mailq 列出帶有狀態(tài)和隊列 ID 的郵件隊列 (-bq)
newaliases newaliases 初始化別名數(shù)據(jù)庫 (-I)
exim4 -q postqueue -f 刷新等待郵件 (-q)
exim4 -qf postsuper -r ALL deferred; postqueue -f 刷新所有郵件
exim4 -qff postsuper -r ALL; postqueue -f 刷新甚至已經(jīng)凍結(jié)的郵件
exim4 -Mg queue_id postsuper -h queue_id 通過郵件的隊列 ID 來凍結(jié)它
exim4 -Mrm queue_id postsuper -d queue_id 通過郵件的隊列 ID 來移除它
N/A postsuper -d ALL 移除所有郵件
  • 廣告合作

  • QQ群號:4114653

溫馨提示:
1、本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享網(wǎng)絡(luò)內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。郵箱:2942802716#qq.com(#改為@)。 2、本站原創(chuàng)內(nèi)容未經(jīng)允許不得轉(zhuǎn)裁,轉(zhuǎn)載請注明出處“站長百科”和原文地址。