zoukankan      html  css  js  c++  java
  • 本地邮件系统的安装及配置

    目的:本地收发邮件。
    软件:getmail、msmtp、procmail,mail(或mutt)
    过程:
    1)安装并配置 getmail
    getmail是一个邮件检索、收取程序,它支持POP3, IMAP协议,可以将远程邮件服务器上指定帐号的邮件收取到本地。
    注意:使用前请确认你的邮件帐号设置中开启了POP3或IMAP服务。

    1,安装getmail.

    1 #pacman -S  getmail


    2,配置getmail.
    getmail的配置非常简单,只需在 ~/.getmail文件中添加相应的帐号即可,如:

     1 # mkdir .getmail  #配置文件目录
     2 # [geekard@geekard ~]$ cat .getmail/getmailrc
     3 [options]
     4 verbose = 1
     5 read_all = false
     6 message_log = $HOME/.getmail/log
     7 
     8 [retriever]
     9 type = SimplePOP3SSLRetriever
    10 server = pop.gmail.com
    11 username = geekard@gmail.com
    12 port = 995
    13 password = *********
    14 
    15 [destination]
    16 type = MDA_external
    17 path = /usr/bin/procmail
    18 [geekard@geekard ~]$


    配置文件中只能指定一个账户,如果向同时接收多个账户的邮件,可以另外编辑一个配置文件,然后在下面的cron命令行中用--rffile参数指定。

     1 [geekard@geekard ~]$ cat .getmail/qq.conf    #qq帐号的配置文件
     2 [options]
     3 verbose = 1
     4 read_all = false
     5 message_log = $HOME/.getmail/log
     6 
     7 [retriever]
     8 type = SimplePOP3SSLRetriever
     9 server = pop.qq.com
    10 username = geekard
    11 port = 995
    12 password = *********
    13 
    14 [destination]
    15 type = MDA_external
    16 path = /usr/bin/procmail
    17 [geekard@geekard ~]$

    3.周期检查
    只需简单地编辑一个cron任务即可,例如每10分钟向远程服务器检索一次邮件:

    1 [geekard@geekard ~]$ crontab -l
    2 */10 * * * * /usr/bin/getmail --rcfile getmailrc --rcfile qq.conf
    3 [geekard@geekard ~]$


    2)安装并配置msmtp

    getmail解决了收取邮件的文件,msmtp则解决了发送邮件的问题:它可以利用smtp协议为本地的MUA(如mail, mutt)发送邮件(会安装一个/usr/bin/sendmail链接,所以可以为任何命令行程序发邮件,这在服务器维护方面很有用)。

    1, 安装

    1 #pacman -S msmtp


    2,配置
    msmtp的配置也非常简单,只需在 ~/.msmtp 中添加自己在邮件服务器中的帐号即可。如:

     1 [geekard@geekard ~]$ cat .msmtprc
     2 # It looks like Google's in the process of becoming its own certificate
     3 # authority. For some users, they seem to have switched to a "Google
     4 # Certificate Authority" certificate, which is rooted in Equifax.
     5 #tls_trust_file /usr/share/ca-certificates/mozilla/Equifax_Secure_CA.crt
     6 
     7 # Accounts will inherit settings from this section
     8 defaults
     9 auth             on
    10 tls              on
    11 tls_trust_file   /usr/share/ca-certificates/mozilla/Thawte_Premium_Server_CA.crt
    12 
    13 # A first gmail address
    14 account        gmail
    15 host           smtp.gmail.com
    16 port           587
    17 from           geekard@gmail.com
    18 user           geekard@gmail.com
    19 password       xxxxxxx
    20 
    21 # A second qq address
    22 account    qq
    23 auth login
    24 tls off
    25 host       smtp.qq.com
    26 port       25
    27 from       geekard@qq.com
    28 user       geekard@qq.com
    29 password   xxxxxx
    30 
    31 #log file
    32 logfile /var/log/mmlog
    33 
    34 # Set a default account
    35 account default : qq
    36 [geekard@geekard ~]$

    然后就可以使用gmail帐号往外发邮件了,当然如果最后一个参数是qq则可以使用qq帐号往外发邮件。

    3,测试
    我们可以使用mail命令给自己发一封邮件,然后登录到邮箱查看是否成功。

    1 [geekard@geekard ~]$ echo 'hello, geekard!' | mail -s "test" geekard@qq.com
    2 [geekard@geekard ~]$


    3)安装并配置procmail
    procmail是一个MDA,getmail将接收到的邮件传给它,它利用配置文件中的规则,将邮件分门别类地放到相应的目录中。

    1, 安装

    1 #pacman -S procmail


    2, 配置
    只需要向文件~/.procmailrc添加自己的过滤规则即可,如

     1 #[geekard@geekard ~]$ cat .procmailrc
     2 
     3 MAILDIR=$HOME/mail     #邮箱目录
     4 DEFAULT=$MAILDIR/inbox/
     5 LOGFILE=$MAILDIR/log
     6 VERBOSE=on
     7 
     8 ##规则条目以:0开头
     9 ##规则行中不可包含注释
    10 ##使用否条件!禁止某规则
    11 ##条件行以*开头,你的朋友作为正则表达式(regxp)
    12 ##条件行并列,*之后所有部分将被送到egrep
    13 ##执行行紧接条件行之后。这里是一个邮件箱的名称。
    14 
    15 :0:
    16 * ^From: .*overdue_notice@uestc.edu.cn.*
    17 library/
    18 
    19 :0:
    20 * ^From: .*ramesh.thegeekstuff@gmail.com.*
    21 Geek-stuff/
    22 
    23 
    24 :0:
    25 * ^From: .*geekard.*
    26 From-geekard/
    27 
    28 #邮件列表
    29 :0
    30 * ^List-Id:.*kde-devel.kde.org
    31 kde-devel/
    32 
    33 :0:
    34 * ^List-Id:.*lists.fedoraproject.org
    35 fedora/
    36 
    37 :0:
    38 * From: LinuxTOY <xxdlhy@gmail.com>
    39 LinuxTOY/
    40 
    41 :0:
    42 * ^To: .*lists.stanford.edu.*
    43 OpenFlow/
    44 
    45 ################################
    46 #最后一条:不符合上述任何一条
    47 #规则的邮件进入到默认邮件箱
    48 ################################
    49 :0:
    50 inbox/
  • 相关阅读:
    python中装饰器
    python中函数后面的小括号的作用
    python中闭包
    python中LEGB原则
    python中不能在外层函数以外调用内层函数
    “咏刚的家”全新改版
    四个半月——我离 Google 有多远?
    关于翻译的两篇好文章
    崔健,又见崔健
    第一天——适逢惊蛰
  • 原文地址:https://www.cnblogs.com/geekard/p/2489257.html
Copyright © 2011-2022 走看看