您的位置:首页 > 其它

本地邮件系统的安装及配置

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

1,安装getmail.

#pacman -S  getmail


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

# mkdir .getmail  #配置文件目录
# [geekard@geekard ~]$ cat .getmail/getmailrc
[options]
verbose = 1
read_all = false
message_log = $HOME/.getmail/log

[retriever]
type = SimplePOP3SSLRetriever
server = pop.gmail.com
username = geekard@gmail.com
port = 995
password = *********

[destination]
type = MDA_external
path = /usr/bin/procmail
[geekard@geekard ~]$


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

[geekard@geekard ~]$ cat .getmail/qq.conf    #qq帐号的配置文件
[options]
verbose = 1
read_all = false
message_log = $HOME/.getmail/log

[retriever]
type = SimplePOP3SSLRetriever
server = pop.qq.com
username = geekard
port = 995
password = *********

[destination]
type = MDA_external
path = /usr/bin/procmail
[geekard@geekard ~]$


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

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


2)安装并配置msmtp

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

1, 安装

#pacman -S msmtp


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

[geekard@geekard ~]$ cat .msmtprc
# It looks like Google's in the process of becoming its own certificate
# authority. For some users, they seem to have switched to a "Google
# Certificate Authority" certificate, which is rooted in Equifax.
#tls_trust_file /usr/share/ca-certificates/mozilla/Equifax_Secure_CA.crt

# Accounts will inherit settings from this section
defaults
auth             on
tls              on
tls_trust_file   /usr/share/ca-certificates/mozilla/Thawte_Premium_Server_CA.crt

# A first gmail address
account        gmail
host           smtp.gmail.com
port           587
from           geekard@gmail.com
user           geekard@gmail.com
password       xxxxxxx

# A second qq address
account    qq
auth login
tls off
host       smtp.qq.com
port       25
from       geekard@qq.com
user       geekard@qq.com
password   xxxxxx

#log file
logfile /var/log/mmlog

# Set a default account
account default : qq
[geekard@geekard ~]$


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

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

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


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

1, 安装

#pacman -S procmail


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

#[geekard@geekard ~]$ cat .procmailrc

MAILDIR=$HOME/mail     #邮箱目录
DEFAULT=$MAILDIR/inbox/
LOGFILE=$MAILDIR/log
VERBOSE=on

##规则条目以:0开头
##规则行中不可包含注释
##使用否条件!禁止某规则
##条件行以*开头,你的朋友作为正则表达式(regxp)
##条件行并列,*之后所有部分将被送到egrep
##执行行紧接条件行之后。这里是一个邮件箱的名称。

:0:
* ^From: .*overdue_notice@uestc.edu.cn.*
library/

:0:
* ^From: .*ramesh.thegeekstuff@gmail.com.*
Geek-stuff/

:0:
* ^From: .*geekard.*
From-geekard/

#邮件列表
:0
* ^List-Id:.*kde-devel.kde.org
kde-devel/

:0:
* ^List-Id:.*lists.fedoraproject.org
fedora/

:0:
* From: LinuxTOY <xxdlhy@gmail.com>
LinuxTOY/

:0:
* ^To: .*lists.stanford.edu.*
OpenFlow/

################################
#最后一条:不符合上述任何一条
#规则的邮件进入到默认邮件箱
################################
:0:
inbox/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: