Gather ye rosebuds while ye may

Ubuntu Email Server


配置sendmail+dovecot 的服务器并用 email 客户端进行邮件收发

  1. sendmail 只为192.168.x.0/24 提供转发
  2. 允许用户teacher 有多个邮件地址([email protected] [email protected]
  3. 设置 sendmail 可以转发来自126.com 的邮件

下面的语句使用时出错的话,请大胆尝试 sudotouch等操作


安装 sendmail,mailutils 和 dovecot

sendmail

sudo apt-get install sendmail

dovecot

sudo apt-get install dovecot-pop3d

查看状态、开启服务,关闭服务,重启服务:

sudo service sendmail/dovecot status/start/stop/restart

mailutils

sudo apt-get install mailutils

测试发送

echo “邮件正文” | mail -s 邮件主题 对方 email

sendmail 控制邮件中转

备份配置文件,这是个好习惯:

cp /etc/mail/sendmail.cf /etc/mail/sendmail.cf.old

编辑配置文件(/etc/mail/sendmail.mc)

AKA激活access.db

找到这个:
FEATURE(`access_db', , `skip')dnl
改成下面这个
FEATURE(`access_db')dnl

编译.mc文件成为.cf文件:

注意我这里的m4没有权限往这个文件夹里面写文件,所以我先生成到了/home里面然后再mv进去

sudo m4 /etc/mail/sendmail.mc > /home/sendmail.cf
sudo mv /home/sendmail.cf /etc/mail/sendmail.cf

编辑 access文件:

192.168.1.0/24 RELAY
126.com RELAY

编译accessaccess.db文件

不知道为什么使用 sudo 也没有用,我使用了sudo su

sudo su
makemap hash access.db < access
exit

然后使用 sudo 编辑器查看 access.db 文件就可以看到编译成功了。

重启服务

sudo service sendmail restart

单个用户多个邮件地址

编辑配置文件(/etc/mail/sendmail.mc):

添加下面这一行
define('ALIAS_FILE','/etc/aliases')dnl

编辑/etc/aliases:

admin:":include:/etc/manage.user"

新建文件/etc/manage.user:

root,teacher,[email protected],[email protected]

编译.mc文件成为.cf文件:

注意我这里的m4没有权限往这个文件夹里面写文件,这次使用 sudo su

sudo su
m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf
exit

使别名生效:

sudo su
/usr/bin/newaliases
exit

重启服务

sudo service sendmail restart

以上


抱歉,评论已关闭。
欲参与讨论,请寄 [email protected]