⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 00000012.htm

📁 一份很好的linux入门资料
💻 HTM
📖 第 1 页 / 共 5 页
字号:
&nbsp;&nbsp;*&nbsp;^From:.*<A HREF="mailto:test@mydomain.com">test@mydomain.com</A>&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>{&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:0&nbsp;c&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;!&nbsp;<A HREF="mailto:who@somewhere.edu">who@somewhere.edu</A>&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:0&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;testsave&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>}&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;这个.procmailrc文件将所有来自test的信件转发给<A HREF="mailto:who@somewhere.edu,同时在本地">who@somewhere.edu,同时在本地</A>&nbsp;<BR>留一个保存一个备份在文件testsave中。&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;上面的形式是.procmailrc行为规则的基本格式,规则的一般格式是&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;:0&nbsp;选项&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;[零个或多个条件,每个一行]&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;[动作命令]&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;:0表示开始一条规则,后面可以加上一些单字符的选项,选项主要有下面的一些:&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;H&nbsp;&nbsp;&nbsp;搜索匹配邮件头部&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;B&nbsp;&nbsp;&nbsp;搜索匹配整个邮件&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;D&nbsp;&nbsp;&nbsp;匹配时区分大小写&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;A&nbsp;&nbsp;&nbsp;如果前面最近的一个没有A或a选项的规则执行,执行本规则&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;a&nbsp;&nbsp;&nbsp;如果上面一条规则执行,则本规则执行&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;E&nbsp;&nbsp;&nbsp;同A相反,前面最近的没有E或e选项的规则没有执行,则执行本规则&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;e&nbsp;&nbsp;&nbsp;同a相反&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;h&nbsp;&nbsp;&nbsp;通过管道传送邮件首部(缺省)&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;b&nbsp;&nbsp;&nbsp;通过管道传送邮件主体(缺省)&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;c&nbsp;&nbsp;&nbsp;复制一个邮件&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;I&nbsp;&nbsp;&nbsp;忽略所有写操作中的错误&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;r&nbsp;&nbsp;&nbsp;原始模式,即procmail不对mail进行任何模式的处理&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;条件用一个*号开始,后面跟上正则表达式(参考第十一章)。&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;动作命令就是procmail在规则成功之后使用的命令,一般的命令有下面一些:&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;{}&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;开始一个语句段,表示把一组命令集合成一个动作。如果你要嵌套处理规则,(例如&nbsp;<BR>,对于来自test的邮件,区分是含有computer字符串还是含有physics字符串)那么必须&nbsp;<BR>使用语句段把子规则括起来。&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>!&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;转发信件给某个用户&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>|&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;启用管道将邮件传送给后面的程序,例如|auto-reply表示启动auto-reply程序并且将&nbsp;<BR>邮件内容作为标准输入传递给它。&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;任意文件名&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;将邮件存入某个文件。如果文件已经存在,就添加在文件的末尾。&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;显然,前面的.procmailrc的含义是:&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;:0&nbsp;H开始了一个对邮件头部的搜索,^From.*<A HREF="mailto:test@mydomain.com表示邮件头部发现了">test@mydomain.com表示邮件头部发现了</A>&nbsp;<BR>From:&nbsp;<A HREF="mailto:test@mydomain.com之类的内容,于是行为规则被启动。这里的行为规则是一个语">test@mydomain.com之类的内容,于是行为规则被启动。这里的行为规则是一个语</A>&nbsp;<BR>句块,因此在语句段里面的子规则被执行。&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;:0&nbsp;c开始的规则首先复制一份副本,然后将邮件转发给<A HREF="mailto:who@somewhere.edu,这样邮件">who@somewhere.edu,这样邮件</A>&nbsp;<BR>本身消失了,但是副本仍然存在,于是副本继续执行下面的:0规则组,这个规则是存储&nbsp;<BR>邮件到文件testsave,于是,邮件副本也被处理掉了,正好规则结束。&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;对于熟悉perl或C语言的的用户,很容易用procmail的管道功能做出邮件的自动回复程&nbsp;<BR>序,这里不再介绍了,想进一步了解procmail的用户可以用&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;man&nbsp;procmail&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;man&nbsp;procmailrc&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;man&nbsp;procmailex&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;获得更加详细的信息。&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;7.1.4&nbsp;Fetchmail&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;许多用户有多个邮件账户,有些在你的管理范围之内,有些在别的服务器上面。管理&nbsp;<BR>所有这些邮件是非常恶心的事情。另外,也许你的系统仅仅是一个拨号代理(参考第八&nbsp;<BR>章),不可能始终接在internet上面。你需要的是在系统连接到internet的时候发出电&nbsp;<BR>子邮件,同时自动去接收电子邮件。在国内,典型的做法是每人申请一个本地电子邮件&nbsp;<BR>账户和一个免费电子邮件账号,问题就是,如何从另外的ISP提供的电子邮件账号哪里自&nbsp;<BR>动地接收邮件?&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;当然你可以让你的用户自己解决这个问题,不过这种僵硬的方法不见得合适。一般我&nbsp;<BR>们采用另外的办法,就是fetchmail,它是一个自动的邮件接力程序,可以让它从远程的&nbsp;<BR>pop3账号处取得邮件,然后扔进用户的本地邮箱。(关于pop3的情况参考下一节)&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;可以直接用命令行调用fetchmail:&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;$&nbsp;fetchmail&nbsp;–p&nbsp;[协议]&nbsp;-u&nbsp;[用户名]&nbsp;[服务器]&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;fetchmail得到的信息将直接投入localhost机器,账号是你启动fetchmail时使用的账&nbsp;<BR>号。&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;$&nbsp;fetchmail&nbsp;-p&nbsp;POP3&nbsp;-u&nbsp;yuanban&nbsp;mail.asnc.edu.cn&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;Enter&nbsp;password&nbsp;for&nbsp;<A HREF="mailto:yuanban@mail.asnc.edu.cn:">yuanban@mail.asnc.edu.cn:</A>&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;使用pop3协议从mail.asnc.edu.cn取得yuanban的信件。fetchmail要求你输入yuanba&nbsp;<BR>n的密码,然后进行验证,成功的话会出现下面的信息:&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;1&nbsp;message&nbsp;for&nbsp;yuanban&nbsp;at&nbsp;mail.asnc.edu.cn&nbsp;(551840&nbsp;octets).&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;reading&nbsp;message&nbsp;1&nbsp;of&nbsp;1&nbsp;(551840&nbsp;octets)&nbsp;...................................&nbsp;<BR>.....d&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;表示已经完成了一封信件的转交。&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;对于更复杂的情况,建议你使用fetchmail的配置文件,即用户宿主目录下面的.fetc&nbsp;<BR>hmailrc。这个文件的详细资料可以参考fetchmail的文档,这里只用一个简单地例子来&nbsp;<BR>介绍它。我们看一个简单的.fetchmailrc范例:&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;set&nbsp;syslog&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;set&nbsp;postmaster&nbsp;&quot;isee&quot;&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;poll&nbsp;202.96.44.11&nbsp;with&nbsp;proto&nbsp;POP3&nbsp;and&nbsp;options&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;envelope&nbsp;Delivered-To:&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;user&nbsp;&quot;mere&quot;&nbsp;there&nbsp;with&nbsp;password&nbsp;&quot;xxxxxxx&quot;&nbsp;is&nbsp;<A HREF="mailto:isee@snail.home">isee@snail.home</A>&nbsp;here&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;no&nbsp;keep&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;user&nbsp;&quot;isee&quot;&nbsp;there&nbsp;with&nbsp;password&nbsp;&quot;yyyyyyy&quot;&nbsp;is&nbsp;<A HREF="mailto:isee@snail.home">isee@snail.home</A>&nbsp;here&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;no&nbsp;keep&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;这个范例相当简单。fetchmail在读取配置文件的时候会忽略所有的&quot;there&quot;,&quot;here&quot;,&nbsp;<BR>&quot;and&quot;,&quot;with&quot;,&quot;has&quot;,&quot;wants&quot;,&quot;options&quot;之类的单词。&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;第一行set&nbsp;syslog程序定义fetchmail的记录文件使用系统记录功能。set&nbsp;postmaste&nbsp;<BR>r设置的是出错时的管理员账号,接下来的poll行定义了fetchmail使用的协议为POP3,&nbsp;<BR>连接的服务器是202.96.44.11。&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;envelope&nbsp;Delivered-To:这个选项比较有趣,它在信封上加上一个Delivered-To说明&nbsp;<BR>,这主要是为了让fetchmail可以把信件投递到一些使用qmail(见下面)的系统中。&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;接下来是fetchmail的主体部分,一个user的行定义了一个接力方法,现在的定义是取&nbsp;<BR>得202.96.44.11服务器上mere账号的信件,取信的口令是xxxxxxx,然后投递到isee@sn&nbsp;<BR>ail.home,同样,isee的信件也被自动投递到<A HREF="mailto:isee@snail.home。no-keep选项表示不在">isee@snail.home。no-keep选项表示不在</A>&nbsp;<BR>原始服务器上保留邮件。&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;下面是配置fetchmail的一些常用选项:&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;set&nbsp;logfile&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;制定log文件&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;set&nbsp;syslog&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;使用系统log文件&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;via&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;指定DNS机器名来取代poll中的机器明&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;proto&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;指定协议&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;port&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;指定端口&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;timeout&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;指定超时时间&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;interface&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;指定网络界面&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;user&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;指定远程用户&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;is&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;将本地用户和远程用户联系起来&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;to&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;同is&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;pass&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;口令&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;preconnect&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;连接开始前执行的外部命令&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;postconnect&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;连接结束后执行的外部命令&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;keep&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;在服务器上保留邮件备份&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;no&nbsp;keep&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;不保留邮件备份&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>

⌨️ 快捷键说明

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