network-sendmail.html

来自「学习linux的工具书」· HTML 代码 · 共 535 行 · 第 1/3 页

HTML
535
字号
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
   <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
   <meta name="Author" content="Edward Fu">
   <meta name="GENERATOR" content="Mozilla/4.05 [zh-CN] (X11; I; Linux 2.1.127 i686) [Netscape]">
   <title>Freesoft Linux FAQ -- 关于mail</title>
</head>
<body>
首先简单的介绍一下邮件系统,主要由两部分组成:smtp协议(简单邮件传输协议)
<br>和pop3(邮局协议version 3),smtp用于邮件在网络中的传递(mailer),而pop处理
<br>客户端邮件的接收。由于pop3的局限,将来肯定要被imap代替,imap有较好的目录
<br>服务能力,可以在下载之前看到邮件的主要信息如来源、标题等,还可以远程删除
<br>邮件等,但目前ISP还不会轻易用它来替换pop.注意不要与IAP的POP搞混淆了,那
<br>是当前接入点的意思(Point Of Present)。学得越多越糊涂:-(
<br>最早在Linux传递邮件用的是smtp服务,在/etc/inetd.conf里可以看到这样一行:
<br>&nbsp; #smtp stream tcp nowait root /usr/bin/smtpd smtpd
<br>现在基本都用sendmail这样功能强大的deamon程序来做(nntp也是如此)。所以
<br>sendmail只是邮件传递者(mailer),它把这个主机上的邮件发送到其他地方,注意
<br>到配置DNS时有一项MX(Mail eXchang,邮件网关),使用sendmail在你的网内要有一
<br>个DNS服务器。而处理主机上远程客户的邮件服务则要有pop服务,查看inetd.conf
<br>有这么几项:
<br>&nbsp; pop-2 stream tcp nowait root /usr/sbin/tcpd ipop2d
<br>&nbsp; pop-3 stream tcp nowait root /usr/sbin/tcpd ipop3d
<br>&nbsp; imap&nbsp; stream tcp nowait root /usr/sbin/tcpd imap
<br>再查看/etc/service就知道它们对应的端口号,用telnet host-name port试试能
<br>看到什么?Linux这样的东西通常是用来做服务的,当然有很多人把它用作个人桌
<br>面也不错,但是新手就不知道如何去收他们在ISP的邮件了,其实很简单,只需要
<br>装个pop/imap的客户端软件就行了,netscape的套件就是很好的选择,KDE带的邮
<br>件客户端软件也不错,支持多帐号,就是不直接支持中文(用zhXwin吧),或者用
<br>fetchmail把邮件抓回来转发到本地主机的客户,在本地主机上用mail程序来读。
<br>我感觉mail程序好象是直接处理邮件队列,不知对不对。使用mail程序问得最多
<br>的问题是,在输入正文时怎么结束?另起一行输入一个"."就行了!
<p>上面讲的是现在internet上的邮件系统,在internet出现以前电子邮件系统就有了,
<br>比如在uucp/BBS上,还有其它类型的网络上,就在internet发达的今天,这样的网
<br>络系统仍然与之并存。AOL、赢海威(IHWY)的网络上就不是标准的Internet电子邮件。
<br>我以前就上过电信局的基于X.25网(准确的说应该是中国公用分组交换数据网CHINAPAC)
<br>的电子邮件系统,优点是真正的帐号漫游,缺点是速度太慢(至多9600bps,x.25本来就
<br>不快),后来承诺要建一个X.400网关与Internet上的邮件系统转发信件,也不知道后来
<br>怎样了,因为我早已不用它,在IP over everthing的今天......
<p>关于mail list功能,可以用sendmail的别名来做,或者用专门的软件<a href="ftp://ftp.greatcircle.com/pub/majordomo/">majordomo</a>.
<br>到<a href="http://freesoft.cei.gov.cn/freesoft.html">中国自由软件库</a>或者<a href="http://ftp.swjtu.edu.cn">swjtu.edu.cn</a>上去可以搜寻到。它的FAQ由<a href="http://www.cis.ohio-state.edu/~barr/">barr</a>维护。
<br>至于WebMail,可以到<a href="http://www.perl.com">www.perl.com</a>上找找有没有现成的CGI.现成的软件其实也很多
<br>如<a href="http://webmail.woander.de">WeMail</a>,<a href="http://www.lugs.ch/lugs/mitglieder/norbert.kuemin/wmf.html">WebMail
Folder</a>,<a href="http://mikael.mnf.nu/webmail">WebMail Module(Roxen)</a>,<a href="http://www.fetchmail.com">Fetchmail</a>(也可以哟,商业性的)
<br><a href="http://horde.org/imp/">IMP(IMAP WebMail)</a>以及<a href="http://www.chaotika.net/code/HTMail">HTMail</a>。
<p>&nbsp;参考<a href="network-sendmail_cf.html">配置文件sendmail.cf的简单解释</a>。
<br>&nbsp;<a href="network-sendmail-bug.html">关于sendmail老版本的一个安全漏洞</a>
<br>&nbsp;<a href="network-hotmail-bug.html">关于hotmail的安全漏洞</a>
(做WebMail一定要参考一下!)
<p><a NAME="head"></a>
<p>罗罗嗦嗦写了一堆,希望对新新手有所帮助,下面是一些问答集:
<br>&nbsp;
<br><a href="#notify">如何禁止console下新邮件到达提示</a>
<br>&nbsp;
<br><a href="#start">pop3启动起来了吗?</a>
<p><a href="#account">如何建立一个邮件帐号?</a>
<p><a href="#cannot-send">为什么能收不能发邮件?</a>
<p><a href="#error-on-get">为什么突然不能收邮件?</a>
<p><a href="#pine">配置pine去收pop3邮件</a>
<p><a href="#big">sendmail如何据收大的信件?</a>
<p><a href="#about-dns-MX">DNS里相关设置的问题</a>
<p><a href="#MX-firewall">防火墙内外邮件网关的设置问题</a>
<p><a href="#redundancy">邮件服务器双备份的设置问题</a>
<p><a href="#multi-domain">sendmail支持多域名吗?</a>
<p><a href="#delete-mail">如何删除未发出的邮件?</a>
<p><a href="#raner-tips">raner写的tips</a>
<p><a href="#redhat5.1">Redhat 5.1文档里的相关部分</a>
<p>&nbsp;
<br><a NAME="notify"></a>
<p>发信人: rudey (huihui), 信区: Linux
<br>标 题: Re: [求助]如何禁止新邮件到达提示?
<br>发信站: BBS 水木清华站 (Mon Dec&nbsp; 7 01:00:38 1998)
<br>&nbsp;
<br>:&nbsp; 比较烦人,可以去掉吗?
<br>biff n
<br>&nbsp;
<p><a NAME="start"></a>
<p>> 我做了LAN中的一个mail server(red hat 5.0 ,kernel 2.0.1),可为何只能在WIN95下用NETCAPE4.0发信,
<br>> 而不能收信,它出现"pop3 server error" 信息。请问是否只需配置/etc/inetd.conf
和/etc/services
<br>> 中pop3 服务,或还有别的配置? 另外如何判断我的server是否提供pop3服务,若没有,又请问如何配置
<br>> (请详述程序安装和编译过程)?
<p>到/usr/sbin下看一看有没有ipop3d, 如果没有的话就是你安装时偷懒没装,重装之。
<br>实际上,安装RH5的时候,选择“Everything”,总共也没多少(6XXM+)又快又方便
<br>(我只用9分钟),决不会出现你这种问题。
<p>如果有的话,试一试telnet localhost 110, 没反应的话,应该是你的/etc/inetd.conf
<br>有问题, 看看POP-3一行前面有没有#
<p>注:简单地,用netstat -a | grep pop看看有没有下面的信息:
<br>tcp&nbsp; 0&nbsp;&nbsp; 0 *:pop-2&nbsp;&nbsp;&nbsp; *:*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
LISTEN
<br>tcp&nbsp; 0&nbsp;&nbsp; 0 *:pop&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; *:*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
LISTEN
<br>&nbsp;
<p>> 你好!我想做一个mailserver,但在建立pop3邮件服务器时,查到有qpopper与pop3d
<br>> 两种服务程序可用,好象听说qpopper 能与window client相连,不过本人想比较具体
<br>> 清楚二者有区别,请赐教!不胜感谢
<p>没什么本质区别, pop-3协议极为简单,几百行程序而已,各种实现都差不多,犯不着为此
<br>费心,高兴的话你可以自己写一个.
<br>想知道区别的话,看看他们的源代码不就行了?想用好LINUX, 没有这点耐心和本事是不
<br>行的.不要用各种"我是初学者...."之类的话给自己推卸责任,"从来就没有什么救世主,
<br>一切都要靠我们自己!"
<br>&nbsp;
<br>&nbsp;
<p>【 在 badi (都市夜归人) 的大作中提到: 】
<br>: 【 在 cop (cop) 的大作中提到: 】
<br>: : 在配置完邮件系统后,请问怎样使用, 在mail to XXX后出现subject, 添入
<br>: : 后,不知怎样做了.另外sendmail后POP的使用场合的区别.用Windows做客户
<br>: : 时,怎样用?
<br>: 1.mail结束用"."
<br>: 2.需要qpopper,随便找一个ftp下来.
<br>qpop好像是用明文做身份验证吧?听说apop可以解决这种问题,但是一直没有找到.
<p><font color="#FF0000">注:</font>去找<a href="http://www.serc.rmit.edu.au/~tobbe/epop">epop</a>,把pop3客户端与服务端简洁地集成到一块,也支持apop的密文验证。
<p><blink><a href="#head">BACK</a></blink>
<br>&nbsp;
<br>&nbsp;
<p><a NAME="account"></a>
<p>> 我想在LAN中做一个pop3 mail server(slackware3.4),客户为win95的IE,或Netscape.
<br>> 1. 在linux上试telnet localhost 110,反应为“+OK,POP3 server ready...”
<br>> 2. 请问是否需要建立客户的有关信息(帐号、口令等等)?如何建立?
<br>> 3. 请问下一步从何入手?或从那里查阅资料?(howto中似乎没有pop3 sever的说明)。
<p>简单地,你只要在这台linux box上为用户开一个普通的帐号就万事大吉了。以后用户使
<br>用同样的帐号和口令就可以同时登录和POP-3收信了。
<br>POP-3其实简单的一塌糊涂,不信去看看源代码,极为简单。
<br>-----
<br>姚飞
<br>&nbsp;
<p><blink><a href="#head">BACK</a></blink>
<br>&nbsp;
<p><a NAME="cannot-send"></a>
<p>> 我现在的mail能够接收,但不能发送,发送时提示服务器拒发,这是怎么回事,上回那位
<br>> lh兄贴给我的DNS也不行,看过之后感觉非常乱,和通过HOWTO得到的概念好像完全是两码
<br>> 事一样。
<p>在/etc/mail/name_allow中加上你想允许的域或者子域就行了。
<br>那是从RedHat 5.0开始增加的Anti-spam功能,
<br>设置一下/etc/mail目录。
<br>参考<a href="http://docs.shiuol.com.cn/rhmanual/manual/doc012.html">http://docs.shiuol.com.cn/rhmanual/manual/doc012.html</a>
<br>&nbsp;
<p>> My sendmail version is v.8.
<br>> I can both send email in linux box and mail client of win95. But
I can
<br>> receive the pop3 email sent in linux box only. I don't know why.
<br>> When I telnet localhost 25 and telnet localhost 110 in linux box,
they are
<br>> all OK.
<br>你的意思我想是这样的:
<p>你通过linuxbox作为pop3和smtp服务器,让他去收发信件,你在另外一台瘟95的机器上阅读。
<br>现在呢,你装了RedHat5.1, 发现不能通过SMTP转发出去,也不能收到ISP上的邮件,是吧?
<br>现在我就是这样的,让他每天晚上2:00自动拨号收发邮件.
<p>首先,你要定时运行fetchmail,从你的ISP那里把邮件取回来,存到这个LINUX上,具体设置,
<br>最好看看man fetchmail,很详细,很简单。
<p>RH5.1取消了缺省的SMTP转发功能, 你如果要用,请把你的瘟95机器的IP地址写到
<br>/etc/mail/ip_allow及/etc/mail/relay_allow两个文件里, 一个IP写一行.
<br>&nbsp;
<br>&nbsp;
<p>>>>>>>> problem:
<br>>>>>>>>&nbsp;&nbsp;&nbsp; I configured sendmail.cf and install pop3.
I can send mail
<br>>>>>>>> from Linux command line with mail command to outside.
<br>>>>>>>> but we can't send mail from a pc mail to outside.
<br>>>>>>>> error message :
<br>>>>>>>> The mail server responded:
<br>>>>>>>> &lt;...@.......> We do not relay
<br>>>>>>>> why?
<p>>>>>>> 又是这种老的掉牙的问题。把你的客户机的地址写到/etc/mail/ip_allow里,重启动sendmail.
<p>>>>>> 如果想所有机器都可以是客户机,如何去写?
<p>>>>> 把所有客户机的地址都填进去,一行写一个,比如:
<br>>>>> xxx.xxx.xxx.1
<br>>>>> xxx.xxx.xxx.2
<br>>>>> xxx.xxx.xxx.3
<p>>>> 最好能设定地址范围或网段定义邮件客户机。因为本人因工作关系,掌控
<br>>>> 16个C类IP,如果是一行一个ip这样Linux的mail客户机设定就太麻烦了。
<br>>>> 如果mail客户出差在外,希望通过internet远程取电子邮件,其不是要抓瞎。
<br>>>> 我想linux的mail设定不会仅仅如此吧。
<p>>> Class C
<br>>> aaa.bbb.ccc
<br>>> class b
<br>>> aaa.bbb
<br>>> class a

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?