XF-Mail
我怀疑有 很多 人和我处境相似:在学校或工作中使用 Unix 小型机或大型机,在家里的 PC 上运行 Linux。如果是这种情况,您的互联网连接很可能是通过拨号连接、PPP、CSLIP 或 SLIP。如果是这种情况,您将邮件发送到 Linux 机器和从 Linux 机器发送邮件的选择几乎总是包括设置 sendmail、sendmail+IDA 或 smail。设置任何一个都不是一件容易的任务。如果您幸运的话,您的选择还包括 popmail,在这种情况下,您的邮件会留在 popmail 服务器 上的您自己的邮箱中,等待您在空闲时检索。但是要检索邮件,您需要在您的 Linux 机器上安装一个可以与 popmail 服务器通信的邮件程序。
XF-Mail 来解救了。
我想做的是深入了解如何编译和配置 XF-Mail。在这里我想先声明一点:这 不是 为了侮辱任何人的智商。我写这篇文章主要是为了像我这样的 DOS 转换用户,他们最初可能认为编译程序是巫师的任务。其实没那么糟糕。真的!但是,在您掌握窍门之前,让 Linux 程序工作可能是一项艰巨的任务。如果您非常擅长编译程序,您可能想跳到下一节,关于配置,尽管即使配置也确实非常简单。
给剩下的各位说一句。如果您是 Linux 的绝对新手,并且一想到编译任何东西就感到害怕,请坚持下去。这将很有趣。真的!
Linux 和大多数 Unix 背后的理念与 DOS 的理念截然不同。虽然您经常可以找到预编译的二进制文件,只需将它们放入路径中的目录即可工作,但在许多情况下并非如此。您会得到一个带有 .tar.gz 后缀的存档并解压缩它,结果却发现它全是源代码,需要编译。最终,您会希望能够做到这一点。这通常不像最初看起来那么难,尽管诚然,并非所有东西都能“开箱即用”地干净地编译。
我将带您完成编译 XF-Mail 所需的每个步骤。我认为这非常重要,原因有以下几点
这将是编译和设置几个行为良好的程序的好练习,这些程序几乎不需要修改即可工作。
如果您在家用 PC 上使用 Linux 并有拨号连接,您真的需要有一个易于使用的电子邮件客户端。您需要连接网络。认真地。如果您不这样做,您会非常受限并且与外界隔绝。
如果您从未在 Linux 下编译过任何东西,这就是您进行编译并对自己感觉良好的绝佳机会!
让我们开始吧。您需要设置一些东西才能做到这一点
您需要启动并运行 X-Windows。
您需要安装开发应用程序——对于使用 Slackware 的用户来说,这是 D 盘集中的内容。其他发行版将使用不同的名称。您应该安装 GCC(GNU C 编译器),以及头文件等等。
您需要 ftp 一些文件。
您需要能够使用至少一个 Linux 文本编辑器,例如 vi、Emacs、xedit(如果您正在运行 X-Windows)、pico、joe、jed 或许多其他编辑器之一。
您需要获取以下文件(使用 Web 浏览器)
xfmail-0.3.tar.gz (Burka.NetVision.net.il/xfmail/xfmail.html)
bxform-075.tgz (http://bragg.phys.uwm.edu/xforms/)
libXpm-3.4f.tar.gz (ftp://ftp.cc.gatech.edu/pub/linux/libs/)
前两个链接——xfmail-0.3.tar.gz 和 bxform-075.tgz——将带您到这些令人印象深刻的程序的主页。阅读信息并按照说明获取这些程序的 Linux 版本。最后一个链接——libXpm 的内容——将把您带到 sunsite 镜像站点之一(如果您对此感到好奇,那就是 GA Tech)。由于程序版本可能会很快更改,因此我将由您来获取最新版本。我目前正在使用 libXpm-3.4f.tar.gz 源代码。请注意,您可能已经安装了 libXpm,在这种情况下,您无需再次安装。
$ ls -l /usr/X11R6/lib/libXpm.so*
将告诉您是否可以使用该库。
如果您好奇,您获得的文件包含
xfmail-0.3.tar.gz
XF-Mail 客户端版本 0.3 的源代码。
bxform-075.tgz
XForm 工具包库的二进制文件。
libXpm-3.4f.tar.gz
libXpm 库的源代码和预编译库。
XF-Mail 需要最后两个库才能编译。作为额外的福利,有很多程序需要 libXpm 库,并且越来越多的程序使用 XForm 库。一旦设置好这些,当您需要编译其他需要它们的程序时,您就一切就绪了。
由于我现在使用的是 Slackware 2.2.0,因此如果您使用的是不同的发行版,我对事物去向的描述可能与您的略有不同。不用担心...我将尽力尽可能广泛地描述如何进行。
让我们从设置 libXpm 库开始。如果您已经拥有它们,请跳过本节。如果您使用新的基于 ELF 的发行版之一,您可能已经拥有它们,但如果您没有,您将必须获取 ELF 版本而不是此处记录的 a.out 版本。程序是相同的。
由于 libXpm-3.4f.tar.gz 存档包含预编译库和必要的头文件,让我们使用这些。在我的系统上,我创建了一个 /usr/local/src 目录,我在其中存储和编译所有新程序。您不必自己这样做,但这确实有助于保持事物井井有条。现在,让我快速带您了解设置这些内容的步骤
$ mv libXpm-3.4f.tar.gz /usr/local/src/ $ cd /usr/local/src $ tar -xvzf libXpm-3.4f.tar.gz $ cd xpm-3.4f/ $ ls -l
查找 libXpm.a、libXpm.sa 和 libXpm.so.4.6。现在成为 root 用户,并安装这些文件
$ su (type your root password)
# cp libXpm.* /usr/X11R6/lib/
# cp lib/xpm*.h /usr/X11R6/include/X11/
# ldconfig
# exit
bni:Congrats! The libXpm libraries should now be installed.
Make sure you go back to being a normal user again by pressing
Ctrl-D. No point is doing something dumb as root and making
a mess of things, right?
接下来,让我们处理 bxform-075.tgz。此存档包含 XForm 库的二进制文件(实际上是静态库)。它的设置几乎与 libXpm 库一样容易,只是您需要进行少量编辑才能将内容放在它们所属的位置。请注意,如果您有基于 ELF 的发行版,您将需要获取该库的 ELF 版本,而不是 a.out 版本。
我们将以与上次相同的方式开始
$ mv bxform-075.tgz /usr/local/src $ cd /usr/local/src $ tar -xvzf bxform-075.tgz $ cd xforms/ $ ls -l
您会注意到的文件之一是 README 文件。阅读任何内容的 README 文件始终是一个好主意,这也不例外。它会告诉您,您需要编辑以进行任何修改的文件是 mkconfig.h 文件。在修改任何文件之前始终制作备份副本也是一个好主意。如果事情搞砸了,您应该有一个“干净”的副本可以回退。我将我的备份副本称为 mkconfig.h.dist,因为它随发行版一起提供。cp mkconfig.h mkconfig.h.dist 就可以了。
您可能想要进行两处修改。当您加载文件时,您应该在页面下方看到如下所示的行
LIB_DIR=/usr/lib LIBMODE=644 HEADER_DIR=/usr/include HEADERMODE=644
您可能需要考虑将 libforms.a 库安装到 /usr/X11R6/lib 目录中,并将头文件 form.h 安装到 /usr/X11R6/include/Xf 目录中,因为 XF-Mail 将在这些位置查找这些文件。如果您现在这样做,在下一步中会更容易一些。因此,将 LIB_DIR= 和 HEADER_DIR= 行更改为读取
LIB_DIR=/usr/X11R6/lib LIBMODE=644 HEADER_DIR=/usr/X11R6/include/Xf HEADERMODE=644
这应该将所有内容放在它所属的位置。
现在,在您保存修改后,完成安装所剩下的就是再次成为 root 用户,然后键入 make install。
您现在可以编译 XF-Mail 了。此时,您只需解压缩文件,复制文件,可选地编辑 Makefile(它协调编译过程),然后编译程序。
$ mv xfmail-0.3.tar.gz /usr/local/src
$ cd /usr/local/src
$ tar -xvzf xfmail-0.3.tar.gz
$ cd xfmail/ui
$ cp Makefile.Linux Makefile
At this point, there's really nothing much left to do but
compile the program. I'll add here that you can optionally
change the directories in which the program and the manual
pages are installed. Why? Well, there are a couple of schools
of thought regarding the installation of new programs. The one
that I ascribe to suggests putting all user-added programs into
the /usr/local directory.
You don't need to do this following step, but to change
the default location of the program installation from
/usr/X11R6 to /usr/local, let's take a look at the Makefile.
When you edit the Makefile you've just created, you'll see a section
near the top that looks like:
BINDIR = /usr/X11R6/bin MANDIR = /usr/X11R6/man/man1
您会注意到,由顶部的 # change the following... 语句和底部的 # end of user configurable settings 语句分隔的部分是您应该编辑的文件的唯一部分。另请注意定义 XForm 包含目录 (XFINC) 的行和 XForm 库目录 (XFLIB) 的行。现在您将明白为什么我们在上面为 XForms 编辑 Makefile:/usr/X11R6/include/Xf 是 XF-Mail 将查找 form.h 头文件的位置,而 /usr/X11R6/lib 是它将查找 libforms.a 文件的位置。
要将 xfmail 程序安装到您的 /usr/local/bin 目录中,并将手册页安装到 /usr/local/man/man1 目录中,只需编辑 BINDIR 和 MANDIR 条目
BINDIR = /usr/local/bin MANDIR = /usr/local/man/man1
此时,剩下的就是编译和安装程序。只需输入
$ make $ su # make install # exit
第一步将花费一段时间,特别是如果您的内存不多,但如果编译顺利,您应该看不到任何错误消息。在 make install 步骤之后,程序将完全安装。
最难的部分已经完成。
如果您在编译 XF-Mail 时遇到任何问题,您可以走简单的路。作者在 burka.netvision.net.il 的 /pub/xfmail/ 中提供了 Linux 二进制文件供 ftp 下载。
XF-Mail 由 Gennady B. Sorokopud 和 Ugen J. S. Antsilevich 这两位开发者编写。用他们自己的话说:
XF-Mail 是一个用于接收电子邮件的 X-Windows 应用程序。它使用 T.C. Zhao 和 Mark Overmars 的 XForms 库工具包创建。
它部分兼容 MH 风格的邮箱,但它不需要在系统上安装任何 mh 工具。您可以使用 XF-Mail 读取大多数 MH 文件夹和消息。
XF-Mail 具有非常友好的用户界面,并且非常易于使用。它在一个程序中实现了大多数邮件功能,并且不需要任何额外的工具。
猜猜这几乎概括了它!它确实有一个非常友好的用户界面,并且非常易于使用。此外,虽然它可以设置为使用 sendmail,但它也可以在没有 sendmail 的情况下愉快地运行。
XF-Mail 最伟大的优点之一是,所有用户可配置选项都可以使用 GUI 配置菜单轻松设置。这是一个 巨大的 优点,因为配置菜单中的选项让您对程序的功能和外观有很大的控制权。
要配置 XF-Mail,您只需启动它即可。启动 X,并在其中一个 xterm 中输入
$ xfmail &
这将启动程序。现在,根据您的硬件和软件设置,这可能需要几秒钟。
顺便说一句,使用 xterm 启动您刚刚安装的任何程序都不是一个坏主意。例如,您可以安装一个程序,然后简单地将其添加到按钮栏或菜单并从那里调用它。这样做的问题是,如果程序无法运行,则会打印错误消息。如果您尝试从菜单或按钮栏启动程序,您不一定会看到这些消息,然后会想知道为什么您的程序无法启动。如果您使用 xterm 中的命令行测试驱动您新安装的程序,您应该会看到发生了什么。
幸运的是,您只需要了解几件事即可启动并运行 XF-Mail。这些是
您将从中获取邮件的邮件主机的 DNS 名称或 IP 地址
您的邮件主机的端口号或服务——例如,如果您的邮件主机使用 POP3 协议,则为 pop3
您的用户名
您的密码
您的 SMTP 网关或主机的 DNS 或 IP 地址
就基本信息而言,差不多就是这样了。邮件主机信息只是您从中获取邮件的主机。SMTP 网关只是您将邮件发送到的主机。这些通常是同一主机。例如,我从邮件主机 ctrvax.vanderbilt.edu(在范德比尔特大学)获取邮件。那里的邮件服务器使用 POP3 协议,我使用相同的地址通过 SMTP 发送邮件。
如果您对这些信息有任何疑问,请帮自己一个 大 忙,向负责您的邮件服务的人员询问或致电。如果您在大学或大型组织,通常有一个帮助台可以为您提供您需要的所有信息。如果您通过本地 ISP 获得邮件服务,他们也应该能够帮助您。基本上,您只需要邮件主机和 SMTP 网关的地址(名称或数字 IP 地址)。由于范德比尔特大学的邮件服务器使用 POP3(邮局协议)协议,因此我将其用于“端口号”。
要开始配置,请转到菜单栏并选择“Misc”菜单,然后选择“Config”。您将看到一个“配置对话框”,您可以在其中设置各种内容。让我们首先处理基本要素。
要通过邮件主机和您的 SMTP 网关将邮件发送到您的邮箱和从您的邮箱发送邮件,您需要输入此信息。从“配置”菜单中,选择“POP”,这将向您显示“POP 配置”菜单框。在此处,在标题为“Host”的框中输入邮件主机(您将从中获取邮件的 POP 服务器)。在此框的右侧,在标记为“Port”的空间中,输入端口号或服务。如果您的邮件主机使用 POP3 协议,只需将其保留为 pop3。如果是其他协议,您应该咨询您的邮件服务提供商的邮局主管,并确保您知道他们使用哪种服务/端口。
在此下方,输入您的用户名和密码。此外,如果您希望将邮件保留在邮件服务器上,并且希望 XF-Mail 将您的密码存储在配置文件中,以便每次您尝试获取邮件时都不会提示您输入密码,请选中选项按钮。
此部分以及关于设置 SMTP 网关信息的部分是配置邮件客户端最关键的方面。如果您输入的邮件主机或端口号地址不正确,您将无法获取邮件。其次,请记住,存储密码虽然非常方便,但也 非常不安全,因为密码以未加密的形式存储在您的 ~/.xfmailrc 文件中。如果您是唯一使用您的系统的人,这不是一个真正的问题,但如果其他人可以访问您的系统,请注意您的密码非常容易受到攻击。最后,作为预防措施,至少在最初您可能应该 不要 从 pop 服务器中删除您的邮件。这样,如果出现任何问题,您至少会在邮件服务器上保留一份邮件副本,并且应该能够稍后再次检索它。如果出现问题并且您的邮件已从服务器中删除,则邮件就 丢失了。
我吓到您了吗?我希望没有;只是谨慎行事并使用您的常识。请记住,此程序仍处于 beta 测试阶段,虽然到目前为止已经过大量测试和调试,但它可能还有一些“未记录的功能”。安全第一。
最后,让我们设置传出邮件。在您输入 POP 配置的所有信息后,按“完成”按钮,然后按“发送”按钮,这将允许您设置 SMTP 信息。在第一个标题为“SMTP Host”的框中,输入您的 SMTP 网关的名称或 IP 地址,然后在右侧的框中输入 SMTP 端口号。端口的默认值为 smtp,这是一个互联网标准。
如果您已安装 sendmail 程序,您也可以填写其位置,但这不是必需的。
要让 XF-Mail 使用内置的 SMTP 支持,请单击 use SMTP 按钮。还有一些其他建议,我们几乎完成了。首先,我建议您也选中“Save to sent mail”和“Offline send”选项。第一个选项将保存您所有传出邮件的副本。您为什么要这样做?好问题。
互联网上的邮件 可能 会丢失。机器崩溃、硬盘驱动器故障、邮件传递程序有错误。如果您保存传出邮件的副本,如果您发现邮件从未到达目的地,您可以重新发送邮件。
设置“离线发送”选项允许您撰写邮件并将其设置为发送,即使您未连接!
我们快完成了。(我以前说过吗?)按“完成”按钮,当您回到“配置”对话框时,按“保存”按钮。
现在,您可能还需要做一件事。在“配置”对话框中按“Misc”按钮。这将向您显示各种选项的列表。在底部,单击“Open log on startup”选项。这将将所有消息记录到“Log Window”中,这将允许您查看正在发生的事情。密切关注这一点,尤其是在您第一次尝试从服务器检索邮件并向 SMTP 网关发送邮件时。现在,要保存您的更改,再次按“保存”,您就完成了。
您需要先启动并运行您的 SLIP、CSLIP 或 PPP 连接。一旦启动,启动 XF-Mail,然后转到 Misc 菜单并选择 Retrieve mail。密切关注 Log Window 中正在进行的动作。这应该让您知道一切都设置正确,并且 XF-Mail 能够与您的邮件主机建立连接。
没有邮件?没问题。给自己发一些!
在屏幕顶部,单击工具栏上的 笔 图标。细心的用户会注意到,将光标移动到图标上会导致简短描述打印在窗口底部的状态行上。非常方便。现在,单击该图标,您将看到一个编辑窗口。现在,只需填写空白即可。在窗口顶部,您可以输入 From:、Subject: 和 To: 字段的信息。
现在,输入一条简短的测试消息,完成后,按左上角的 信件 图标。如果您收到关于需要指定至少一个收件人的错误消息,请不要忘记在您填写收件人姓名后按 RETURN 键。如果这样做正确,您将看到条目移动到下面的框中。您也可以使用您闪亮的新 地址簿。按 Address 按钮,地址簿将启动。在条目行上输入姓名,然后按“保存”按钮。单击 To 按钮,然后按 RETURN 键。完成。
几乎完成。请记住,我们已设置离线发送。要发送消息,您需要选择 Send 菜单项,然后单击 Send all 项。如果您有外部调制解调器,您应该看到指示灯亮起,并且日志窗口应该让您知道事情的进展情况。如果一切顺利,您现在应该有新邮件了!返回并检索它以查看是否一切正常。
现在,在结束之前,让我们再做几件事。首先,您需要设置几件事。您不必这样做,但这会使使用 XF-Mail 更加容易和有趣。
您可能需要在此时执行的操作是
设置外部编辑器
设置外部消息查看器
配置传出消息的 From: 字段
决定您是否还想从本地邮件假脱机检索邮件
如果您尚未编辑 .signature 文件,请编辑它
您将需要设置外部编辑器和查看器,因为内置的编辑器和查看器非常有限,并且只能处理 30 行或更少行的消息。这不多。但是,您可以将任何 X 编辑器设置为您的查看器/编辑器。但是请记住,您可能不想使用像 Xemacs 这样庞大的东西。诚然,这是一个很棒的编辑器,但在它完成加载之前,您可以完成三周的洗衣 和 熨烫所有袜子。我最初使用的是 xedit,它确实有点简陋,但至少加载速度很快。我现在正在使用 aXe,它的加载速度非常快,但功能 强大得多。
因此,要设置这些内容,请再次调用“配置”菜单
使用“View”菜单设置外部查看器。只需输入启动编辑器/查看器所需的命令——就像您在 xterm 中一样。例如,我仍然使用 xedit 程序作为我的外部查看器。我只需在框中输入 /usr/X11R6/bin/xedit,然后将行数设置为我想要的任何值,例如 75。
使用“Edit”菜单设置外部编辑器。再次,输入加载您选择的编辑器所需的命令行。例如,要使用 aXe 编辑器,我输入了
/usr/local/bin/axe -noserver -geometry 74x40+55+0
使用 Misc 菜单设置 From: 字段。(您需要这样做才能正确设置传出邮件的此字段。)请记住,大多数想要回复您的人只需按 reply 按钮,因此您的 From: 字段对于获得正确的地址非常重要。在 From: 字段行中输入您的电子邮件地址。
使用“Receive”菜单选择性地从本地假脱机检索邮件。输入您的邮件假脱机所在的目录。例如,由于我大部分时间都以 root 用户身份度过,因此我的邮件假脱机目录是 /var/spool/mail/root。我将此设置为 both 假脱机和 POP 检索,因为当我没有运行 X 或当我使用后台 shell 程序定期检查我的邮件时,我经常使用程序 popclient 来检索我的邮件。我已将 popclient 设置为将邮件存入我的本地邮件假脱机目录,因此 XF-Mail 将忠实地从那里以及 POP 服务器中提取邮件。
进行这些更改后,不要忘记按“保存”按钮以保存它们。
要编辑您的 .signature 文件,请再次选择“Misc”菜单,然后单击“Signature”项。会弹出一个易于使用的签名编辑器,让您可以创建 .signature 文件并保存它。我发现您不能将整个窗口用于您的 .signature 文件。如果您这样做,您将收到一条错误消息,提示签名太大。您必须将其保持在 8 到 10 行左右。自己尝试一下看看。互联网礼仪长期以来建议最多 4 行,因此您可能希望将自己限制为 4 行,以使世界其他地方的人们感到满意。
请记住,还有 很多 漂亮的配置选项和功能可供使用。让我向您推荐您浏览在线帮助系统。只需从菜单栏中选择“Help”,然后选择“Contents”项。它将显示一个帮助窗口,其中包含各种有用的信息,描述您可以使用这个很棒的程序做什么。是时候探索了!
想要了解更多?加入 XF-Mail 邮件列表很容易:只需选择“Help”菜单项,然后单击“Subscribe to mailing list”选项。如果您喜欢这个客户端,请继续给作者发一封感谢信!他们的地址是 Gennady B. Sorokopud gena@NetVision.net.il 和 Ugen J. S. Antsilevich ugen@NetVision.net.il。
John Fisk (XXXXXXXXXXXXXX) 在范德比尔特大学医疗中心担任普通外科住院医师和研究员三年后,John 决定“挂起听诊器”,从事医疗信息管理事业。他目前是中田纳西州立大学的全日制学生,并希望在进入医疗信息学研究员职位之前完成计算机科学的研究生学位。在他日益减少的空闲时间里,他和他的妻子 Faith 喜欢在田纳西州美丽的 Great Smoky Mountains 徒步旅行和露营。自从一年半前首次安装 Slackware 2.0.0 以来,他一直是狂热的 Linux 爱好者。