通过exim建立家庭网络的邮件系统

By Jan W. Stumpel, Oegstgeest, The Netherlands 

1 简介 
通过Samba,IP Masqerading,和 diald等创建一个Linux和Win95混合的家庭网络的技巧,已经有包括Linux公报在内的很多文章提到.但是到目前为止,我还没有找到一个在小型网络上通过一个拨号电子邮件账号创建Mail服务的解决方案. 这篇文章中, 我就来阐述以下我是如何实现的, 实现的功能包括: 
网络中的用户可以实现本地邮件的发送和转发. 
发往子网范围以外的邮件有正确From:邮件地址. 以使外部的邮件能够正确的回复. 
电子邮件账号是所有本地子网用户所共享,但是要实现每个用户仅仅能够收到自己的邮件. 
在我的机器上(基于Debian Linux 2.1),我是通过以下程序实现的: 
exim作为邮件的收发代理(它比sendmail好配置的多). 
fetchmail 用来从ISP一端收取邮件. 
pine作为linux端的邮件客户程序(当然象mail之类的程序也可以使用). 
Microsoft Internet Mail 作为Windows端的邮件客户程序(同样你也可以使用其它的类似工具). 
qpopper 作为POP3服务器, 用来把邮件从Linux系统中转移到Win95机器上. 
我在两台机器上(分别安装linux和win95系统)架设了这个系统, 但是无疑这种方案可以在更大一些规模的网络中运行, 而且应付一个小型的办公室应该绰绰有余. 注意: 我所写的这篇文章是基于Debain的. 如果你使用的是别的发行版本, 有些地方需要作适当的改动. 
2 网络和命名 
在这篇文章中我假定以下的名字(您实际应用时应该做写修改,以适应您的实际情况): 
拥有者和系统管理员的名称 Joe Bloggs. 
Linux机器名为 heaven. 
Win95 机器名为 earth. 通常使用者为 Emily Bloggs. 
Joe 在 heaven 机器上的注册用户名为 joe. 
Emily 在 heaven 机器上的注册用户名为 emi. 
Emily 在 earth 机器上的注册用户名也为 emi. 她的在linux下的heaven机器和 Microsoft 网络下的口令也相同. 
Joe在一家域名为isp.com的ISP,拥有一个拨号账号(动态的IP地址),来自ISP的邮件可以通过POP3接收. 
Joe在ISP的注册名为jbloggs. 
Joe 和 Emily 都使用电子邮件地址:joe.bloggs@isp.com. 
Joe到POP3收信的口令为zaphod. 
ISP的发送邮件的邮件服务器为smtp.isp.com. 
ISP的接受邮件的邮件服务器为pop3.isp.com. 
机器heaven和earth都属于一个域,域名为home. 这个域名表示使用范围局限于一个内部家庭网络之内. Joe并没有注册这个域名, 因而对于外部网络来说, 并不能直接识别这个域名. 
此外,我还假设内部网络已经正常工作, 通过exim建立家庭网络的邮件系统 
  
By Jan W. Stumpel, Oegstgeest, The Netherlands 

1 简介 
通过Samba,IP Masqerading,和 diald等创建一个Linux和Win95混合的家庭网络的技巧,已经有包括Linux公报在内的很多文章提到.但是到目前为止,我还没有找到一个在小型网络上通过一个拨号电子邮件账号创建Mail服务的解决方案. 这篇文章中, 我就来阐述以下我是如何实现的, 实现的功能包括: 
网络中的用户可以实现本地邮件的发送和转发. 
发往子网范围以外的邮件有正确From:邮件地址. 以使外部的邮件能够正确的回复. 
电子邮件账号是所有本地子网用户所共享,但是要实现每个用户仅仅能够收到自己的邮件. 
在我的机器上(基于Debian Linux 2.1),我是通过以下程序实现的: 
exim作为邮件的收发代理(它比sendmail好配置的多). 
fetchmail 用来从ISP一端收取邮件. 
pine作为linux端的邮件客户程序(当然象mail之类的程序也可以使用). 
Microsoft Internet Mail 作为Windows端的邮件客户程序(同样你也可以使用其它的类似工具). 
qpopper 作为POP3服务器, 用来把邮件从Linux系统中转移到Win95机器上. 
我在两台机器上(分别安装linux和win95系统)架设了这个系统, 但是无疑这种方案可以在更大一些规模的网络中运行, 而且应付一个小型的办公室应该绰绰有余. 注意: 我所写的这篇文章是基于Debain的. 如果你使用的是别的发行版本, 有些地方需要作适当的改动. 
2 网络和命名 
在这篇文章中我假定以下的名字(您实际应用时应该做写修改,以适应您的实际情况): 
拥有者和系统管理员的名称 Joe Bloggs. 
Linux机器名为 heaven. 
Win95 机器名为 earth. 通常使用者为 Emily Bloggs. 
Joe 在 heaven 机器上的注册用户名为 joe. 
Emily 在 heaven 机器上的注册用户名为 emi. 
Emily 在 earth 机器上的注册用户名也为 emi. 她的在linux下的heaven机器和 Microsoft 网络下的口令也相同. 
Joe在一家域名为isp.com的ISP,拥有一个拨号账号(动态的IP地址),来自ISP的邮件可以通过POP3接收. 
Joe在ISP的注册名为jbloggs. 
Joe 和 Emily 都使用电子邮件地址:joe.bloggs@isp.com. 
Joe到POP3收信的口令为zaphod. 
ISP的发送邮件的邮件服务器为smtp.isp.com. 
ISP的接受邮件的邮件服务器为pop3.isp.com. 
机器heaven和earth都属于一个域,域名为home. 这个域名表示使用范围局限于一个内部家庭网络之内. Joe并没有注册这个域名, 因而对于外部网络来说, 并不能直接识别这个域名. 
此外,我还假设内部网络已经正常工作, 并且已经拥有使用daild实现的非永久拨号连接. 在haven机器上也不起DNS服务. /etc/resolv.conf中只是加入了ISP提供的两个DNS服务器的地址. 同样的设置也要加在earth机器上的TCP/IP设置中. 
heaven机器上的/etc/hosts文件内容如下: 

127.0.0.1 localhost 
192.168.1.1 heaven.home heaven 
192.168.1.2 earth.home earth 

在earth机器上的c:windowshosts文件中的内容跟heaven机器中的/etc/hosts文件的内容一样. 

3、邮件地址 
在"To:"和"From:"中指定邮件地址是一封邮件的基本组成部分, 此外还有更多的内容. 举例来说: 
To: Emily Bloggs 

'Emily Bloggs'是一个"real-name part"(真实姓名部分). 这是通过撰写电子邮件的程序加上的. 这个部分就是将邮件发送给Emily本人的依据. 注意:如果在real-name part中有句点存在, 邮件地址必须用"符号包围起来(例如:"Joe C. Bloggs"). 您可以用man mailaddr参考一下相关的帮助页. 

4 配置exim 
在Debian linux下, 这一切都是由eximconfig程序来完成的. 程序将问到一些问题,你可以参考下面的回答: 
你的,

分享到