19. Mail/News Clients
邮件客户端帮助您检索(Fetchmail),排序(Procmail),阅读和撰写回复(Heirloom mailx,Mutt, Pine, Kmail, Balsa, Evolution, SeaMonkey)电子邮件。
新闻客户端还可以帮助您检索、排序、阅读和撰写响应,但是这些消息通过使用网络新闻传输协议(NNTP)的USENET(一个全球公告板系统)传输。
19.1 Fetchmail-6.4.36
简介Fetchmail
Fetchmail包包含一个邮件检索程序。它从远程邮件服务器检索邮件,并将其转发到本地(客户机)机器的传递系统,这样普通邮件用户代理就可以读取邮件。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://downloads.sourceforge.net/fetchmail/fetchmail-6.4.36.tar.xz
-
下载 MD5 校验和: 8bfdc96f0241f328b17ef04666b2f155
-
下载大小: 1.1 MB
-
预计所需磁盘空间: 12 MB 包含测试
-
预计构建时间: 0.1 SBU 包含测试
Fetchmail 依赖
推荐
本地MDA (Procmail-3.22)
可选
MIT Kerberos V5-1.20.1 和 libgssapi
可选 (用于运行fetchmailconf)
Python-3.11.2, 在 Tk-8.6.13 之后构建,使用 py-future 包。
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/fetchmail
安装Fetchmail
为fetchmail程序创建一个专用用户。以root用户发出以下命令:
useradd -c "Fetchmail User" -d /dev/null -g nogroup \
-s /bin/false -u 38 fetchmail
运行以下命令安装Fetchmail:
PYTHON=python3 \
./configure --prefix=/usr \
--enable-fallback=procmail &&
make
要测试结果,执行: make check.
现在,作为root用户:
make install &&
chown -v fetchmail:nogroup /usr/bin/fetchmail
命令解释
PYTHON=python3: 需要一个Python版本,但仅用于安装允许运行fetchmailconf的模块。该模块没有维护,不应该使用。
--enable-fallback=procmail: 如果端口25邮件服务器不存在或没有响应,则告诉Fetchmail将传入的邮件交给Procmail进行传递。
配置 Fetchmail
配置文件
~/.fetchmailrc
配置信息
注意
如果你连接的邮件服务器支持SSL/TLS-wrapped或“隐式”模式的专用端口(默认993),你应该使用fetchmail –ssl或在rcfile中添加选项’SSL’。
cat > ~/.fetchmailrc << "EOF"
# The logfile needs to exist when fetchmail is invoked, otherwise it will
# dump the details to the screen. As with all logs, you will need to rotate
# or clear it from time to time.
set logfile fetchmail.log
set no bouncemail
# You probably want to set your local username as the postmaster
set postmaster <username>
poll SERVERNAME :
user <isp_username> pass <password>;
mda "/usr/bin/procmail -f %F -d %T";
EOF
touch ~/fetchmail.log &&
chmod -v 0600 ~/.fetchmailrc
这是一个示例配置,应该足以满足大多数人。您可以使用相同的语法添加任意数量的用户和服务器。
man fetchmail: 查找底部附近名为CONFIGURATION EXAMPLES的部分。它给出了一些简单的例子。一旦您习惯了它,还有无数其他配置选项。
如果您希望接收很少的邮件,您可以在希望接收任何传入邮件时调用fetchmail。更常见的是,它要么在守护模式下调用,要么在命令行上使用-d选项,要么在.fetchmailrc(参见man fetchmailconf中的’DAEMON MODE’),或者从cron作业中调用。
内容
安装程序: fetchmail 和 fetchmailconf
安装库: None
安装目录: None
简要描述
fetchmail 当以用户身份执行时,这将获取~/.fetchmailrc并下载相应的邮件。
fetchmailconf 旨在通过使用Tk GUI界面帮助您设置和编辑~/.fetchmailrc配置文件。它是为Python和Tkinter模块编写的,但被标记为警告,需要针对fetchmail 6.4的SSL选项和其他最近的新选项进行更新。
19.2 mailx-12.5
简介Heirloom mailx
传家宝mailx包(以前称为Nail包)包含mailx,一个派生自Berkeley Mail的命令行邮件用户代理。它旨在提供POSIX mailx命令的功能,并提供对MIME消息、IMAP(包括缓存)、POP3、SMTP、S/MIME、消息线程/排序、评分和过滤的额外支持。herirloom mailx对于编写脚本和批处理特别有用。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://ftp.debian.org/debian/pool/main/h/heirloom-mailx/heirloom-mailx_12.5.orig.tar.gz
-
下载 MD5 校验和: 29a6033ef1412824d02eb9d9213cb1f2
-
下载大小: 317 KB
-
预计所需磁盘空间: 3.2 MB
-
预计构建时间: 小于 0.1 SBU
额外下载
Heirloom mailx 依赖
可选
nss-3.88.1, MIT Kerberos V5-1.20.1 (用于IMAP GSSAPI认证), 和 MTA
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/mailx
安装Heirloom mailx
注意
这个包不支持并行构建。
运行以下命令安装Heirloom mailx。
patch -Np1 -i ../heirloom-mailx-12.5-fixes-1.patch &&
sed 's@<openssl@<openssl-1.0/openssl@' \
-i openssl.c fio.c makeconfig &&
make -j1 LDFLAGS+="-L /usr/lib/openssl/" \
SENDMAIL=/usr/sbin/sendmail
这个包没有附带测试套件。
现在,作为root用户:
make PREFIX=/usr UCBINSTALL=/usr/bin/install install &&
ln -v -sf mailx /usr/bin/mail &&
ln -v -sf mailx /usr/bin/nail &&
install -v -m755 -d /usr/share/doc/heirloom-mailx-12.5 &&
install -v -m644 README /usr/share/doc/heirloom-mailx-12.5
命令解释
make SENDMAIL=/usr/sbin/sendmail: 这将改变默认的MTA路径/usr/lib/sendmail。
make PREFIX=/usr UCBINSTALL=/usr/bin/install install: 这会改变默认的安装路径/usr/local和默认的install命令路径/usr/ucb。
配置 Heirloom mailx
配置文件
/etc/nail.rc 和 ~/.mailrc
配置信息
为了显示邮件,mailx使用一个寻呼机程序。由于默认的pg在LFS系统中不可用,因此需要指定要使用哪个分页。默认情况下,more,less安装越舒适。如果变量PAGER没有在/etc/profile或~/.bash_profile中设置,或者如果它应该是另一个仅用于读取邮件的分页,则可以在/etc/nail.rc中设置系统范围:
echo "set PAGER=<more|less>" >> /etc/nail.rc
或者在~/.mailrc中单独为实际用户:
echo "set PAGER=<more|less>" >> ~/.mailrc
在配置文件中设置的其他有趣选项可能是EDITOR和MAILDIR。
如果没有在环境中为其他包设置,则可以通过以下方式设置默认编辑器:
echo "set EDITOR=<vim|nano|...>" >> /etc/nail.rc
根据安装的MTA的类型,可能需要设置MAILDIR变量,以便mailx能够找到邮件:
echo "set MAILDIR=Maildir" >> /etc/nail.rc
内容
安装程序: mail, mailx 和 nail
安装库: None
安装目录: None
简要描述
mailx 是一个命令行邮件用户代理,与商业Unix版本上的mailx命令兼容。
mail 是指向mailx的符号链接。
nail 是指向mailx的符号链接。
19.3 Mutt-2.2.9
简介Mutt
Mutt包包含一个邮件用户代理。这对于阅读、撰写、回复、保存和删除电子邮件非常有用。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://bitbucket.org/mutt/mutt/downloads/mutt-2.2.9.tar.gz
-
下载 MD5 校验和: 14cbaec4cc88ad8147fbe6df8a2d48fd
-
下载大小: 5.3 MB
-
预计所需磁盘空间: 48 MB
-
预计构建时间: 0.3 SBU
Mutt 依赖
推荐 (查看手册的文本版本)
Lynx-2.8.9rel.1, 或 Links-2.28 (或 W3m, 或 ELinks) - 请阅读说明。
可选
Aspell-0.60.8, Cyrus SASL-2.1.28, DocBook-utils-0.6.14, GDB-13.1, GnuPG-2.4.0, GnuTLS-3.8.0, GPGME-1.18.0, libidn-1.41, MIT Kerberos V5-1.20.1, MTA (它提供了一个sendmail命令), slang-2.3.3, SQLite-3.40.1, libgssapi, Mixmaster, QDBM 或 Tokyo Cabinet
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/mutt
安装Mutt
注意
Mutt附带了其手册的HTML版本,但不再提供文本版本,因为与附带版本相比,不同文本浏览器的格式差异引起了投诉。要获取文本文件,按优先顺序使用以下字体:lynx,突出强调(退格),w3m或elink:后两者显然提供纯文本。除非阅读HTML手册,否则通常首选纯文本,因此下面的说明使用lynx(如果可用)或其他链接来生成纯文本。
Mutt需要一个名为mail的组。如果该组不存在,可以使用命令添加该组:
groupadd -g 34 mail
如果您没有安装MTA,您需要使用以下命令修改/var/mail的所有权:
chgrp -v mail /var/mail
运行以下命令安装Mutt:
要确保在使用lynx时创建纯文本手册,或者使用链接(而不是elinks)生成纯文本手册,请执行以下命令:
sed -e 's/ -with_backspaces//' \
-e 's/elinks/links/' \
-e 's/-no-numbering -no-references//' \
-i doc/Makefile.in
现在配置并构建应用程序:
./configure --prefix=/usr \
--sysconfdir=/etc \
--with-docdir=/usr/share/doc/mutt-2.2.9 \
--with-ssl \
--enable-external-dotlock \
--enable-pop \
--enable-imap \
--enable-hcache \
--enable-sidebar &&
make
这个包没有附带测试套件。
现在,作为root用户:
make install
注意
如果你使用DESTDIR方法只以普通用户的身份安装到临时位置(作为包管理过程的一部分),在完成真正的安装后,你需要以root用户的身份运行以下命令:
chown root:mail /usr/bin/mutt_dotlock &&
chmod -v 2755 /usr/bin/mutt_dotlock
现在已经安装了一个info文件,因此您还需要像在LFS中安装Texinfo时所描述的那样重新创建/usr/share/info/dir。
命令解释
sed ... -e 's/ -with_backspaces//' ...: 这将关闭使用lynx时用于过度突出的退格,从而在使用view时产生可读的纯文本。
sed ... -e 's/elinks/links/' ...: 这允许运行links而不是不在书中的elinks。
sed ... -e 's/-no-numbering -no-references//' ...: 这将删除不被links理解的开关。
--enable-external-dotlock: 在某些情况下,不会创建mutt-dotlock程序。这个开关确保它总是被创建。
--enable-pop: 此开关启用POP3支持。
--enable-imap: 此开关启用IMAP支持。
--enable-hcache: 此开关启用header缓存。
--enable-sidebar: 此开关启用了对侧边栏(邮箱列表)的支持。它在默认情况下是关闭的,但可以通过在mutt中使用:set sidebar_visible来打开(并使用’:unset’再次关闭),或者可以在~/.muttrc中启用它。
--with-ssl: 该参数在POP3/IMAP/SMTP中增加openssl对SSL/TLS的支持。
--enable-autocrypt --with-sqlite3: 这两个开关使用gnupg和gpgme (gpgme是通过autocrypt启用的)增加了对数据收集的被动保护的支持。参见 The Manual.
--enable-gpgme: 该开关通过GPGME包启用GPG支持。如果你想在Mutt中支持GPG,请使用此开关。
--enable-smtp: 此开关启用SMTP中继支持。
--with-idn2: 如果libidn和libidn2都已经安装,并且您希望在这里使用libidn2,则使用此参数。
--with-sasl: 如果启用了POP3/IMAP/SMTP,此参数将增加Cyrus SASL-2.1.28的身份验证支持。根据服务器配置,POP3或IMAP可能不需要这样做。但是,SMTP身份验证需要它。
配置 Mutt
配置文件
/etc/Muttrc, ~/.muttrc, /etc/mime.types, 和 ~/.mime.types
配置信息
要开始使用Mutt,不需要对这些文件进行任何更改。当您准备进行更改时,muttrc的手册页是一个很好的起点。
为了使用GnuPG,使用以下命令:
cat /usr/share/doc/mutt-2.2.9/samples/gpg.rc >> ~/.muttrc
内容
安装程序: flea, mutt, mutt_dotlock, muttbug, pgpewrap, mutt_pgpring, 和 smime_keys
安装库: None
安装目录: /usr/share/doc/mutt-2.2.9
简要描述
flea 是一个脚本,显示在哪里报告错误。
mutt 是一个邮件用户代理(MUA),它使您能够读取,写入和删除您的电子邮件。
mutt_dotlock 实现邮件假脱机文件锁。
muttbug 是与flea相同的脚本。
pgpewrap 为GnuPG-2.4.0实用程序准备命令行。
pgpring 是一个钥匙圈转储PGP。GnuPG-2.4.0不需要。
smime_keys 管理S/MIME证书的密钥存储库。
19.4 Procmail-3.22
简介Procmail
Procmail包包含一个自主邮件处理器。这对于过滤和分类收到的邮件很有用。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://ftp.osuosl.org/pub/blfs/conglomeration/procmail/procmail-3.22.tar.gz
-
下载 MD5 校验和: 1678ea99b973eb77eda4ecf6acae53f1
-
下载大小: 226 KB
-
预计所需磁盘空间: 1.7 MB
-
预计构建时间: 小于 0.1 SBU
额外下载
Procmail 依赖
推荐
安装sendmail的MTA。
可选
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/procmail
安装Procmail
这个包没有附带测试套件。
以root用户运行以下命令安装Procmail:
sed -i 's/getline/get_line/' src/*.[ch] &&
patch -Np1 -i ../procmail-3.22-consolidated_fixes-1.patch &&
make LOCKINGTEST=/tmp MANDIR=/usr/share/man install &&
make install-suid
命令解释
sed -i ‘s/getline/get_line/’ src/*.[ch]: 这将重命名procmail的getline函数,以避免与glibc中的getline函数冲突。
make LOCKINGTEST=/tmp install: 这可以防止make询问您在哪里测试文件锁定模式。
make install-suid: 修改已安装文件的权限。
配置 Procmail
配置文件
/etc/procmailrc 和 ~/.procmailrc
配置信息
必须编写并将其放在~/.procmailrc中以便执行。procmailex手册页是学习如何编写食谱的起点。更多信息,请参见https://pm-doc.sourceforge.net/。
内容
安装程序: formail, lockfile, mailstat 和 procmail
安装库: None
安装目录: None
简要描述
formail 是一个过滤器,可用于将邮件格式化为邮箱格式。
lockfile 是一个实用程序,可以以交互方式或在脚本中锁定文件以供单次使用。
mailstat 打印自上次运行mailstat以来procmail过滤的邮件的摘要报告。
procmail 是一个自主的邮件处理器。它执行MDA(邮件交付代理)的所有功能。
19.5 Other Mail and News Programs
Balsa-2.6.4 是一个基于GTK2的邮件客户端。
SeaMonkey-2.53.15 在其安装中包括邮件客户端和新闻阅读器。
Thunderbird-102.8.0 是一个基于Mozilla代码库的邮件/新闻客户端。