搭建基于Sendmail的mail服务


  1. 实验环境:fedora 10

  2. 软件的安装
    我们需要安装的包有:
    sendmail --主程序
    sendmail-cf --辅助配置的工具
    sendmail-doc --文档

  3. 初步配置
    安装好了这些包以后,我们可以到/etc/mail/目录下看到sendmail的一些配置文件。其中有sendmail.cf 与sendmail.mc两个文件,前者是sendmail的主配置文件,由于其极其复杂我们使用了一个简单的mc配置文件后用m4导出为cf文件。

    首先,我们备份以下原来的cf后缀名的配置文件:
    cp /etc/mail/sendmail.cf /etc/mail/sendmail.cf.backup
    备份好后编辑sendmail.mc文件,修改一句:
    DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')dnl
    修改其中的一部分Addr=0.0.0.0
    从这条配置上面的注释可看到设置为环回IP地址后就限制了接受从因特网接收邮件了,设置后取消限制。

  4. 设置邮件别名文件

    查看/etc/aliases 可见很多别名,我们可以增加其中一项实验下。
    linuxfans: root,rex
    这样,发给linuxfans这个用户的邮件就会让root和rex两个用户全部接收到了。

  5. 配置POP3IMAP
    为了让我们能直接使用邮件客户端软件例如foxmail来查看和接收邮件,我们需要配置pop服务和imap服务。
    首先,安装dovecot包,我这里已经安装好,所以继续下一步开始配置
    vi /etc/dovecot.conf
    打开pop3等服务类型的协议。找到:
    #protocols = imap imaps pop3 pop3s 将其打开

    修改listen = [*] ,这样的话就能监听IPV4的请求了。再往下看,找到 #mail_location = 的这一行,修改为:
    mail_location = mbox:~/mbox:INBOX=/var/spool/mail/%U
    冒号前面设置了已读邮件的目录位置,后面是收件箱的位置,在我当前的环境变量下是这样的目录位置,若读者不确定自己的收件箱目录位置,可以用:
    echo $MAIL 这条命令来查看当前收件箱的位置
    接下来别忘记重启dovecot服务,我们就可以用邮件客户端将pop地址设置为本机来测试了。(如果填写收件人为"用户名@主机名",别忘了把你的DNS改为你自己的DNS服务地址)

posted @ 2009-05-01 15:40  Hello! Linux 博客  Views(1295)  Comments(0Edit  收藏  举报