Ubuntu Email Server
配置sendmail+dovecot 的服务器并用 email 客户端进行邮件收发
- sendmail 只为192.168.x.0/24 提供转发
- 允许用户teacher 有多个邮件地址([email protected] [email protected])
- 设置 sendmail 可以转发来自126.com 的邮件
下面的语句使用时出错的话,请大胆尝试
sudo
,touch
等操作
安装 sendmail,mailutils 和 dovecot
sendmail
1
| sudo apt-get install sendmail
|
dovecot
1
| sudo apt-get install dovecot-pop3d
|
查看状态、开启服务,关闭服务,重启服务:
1
| sudo service sendmail/dovecot status/start/stop/restart
|
mailutils
1
| sudo apt-get install mailutils
|
测试发送
1
| echo “邮件正文” | mail -s 邮件主题 对方 email
|
sendmail 控制邮件中转
备份配置文件,这是个好习惯:
1
| cp /etc/mail/sendmail.cf /etc/mail/sendmail.cf.old
|
编辑配置文件(/etc/mail/sendmail.mc
)
AKA激活access.db
1 2 3 4
| 找到这个: FEATURE(`access_db', , `skip')dnl 改成下面这个 FEATURE(`access_db')dnl
|
编译.mc
文件成为.cf
文件:
注意我这里的m4
没有权限往这个文件夹里面写文件,所以我先生成到了/home
里面然后再mv
进去
1 2
| sudo m4 /etc/mail/sendmail.mc > /home/sendmail.cf sudo mv /home/sendmail.cf /etc/mail/sendmail.cf
|
编辑access
文件:
1 2
| 192.168.1.0/24 RELAY 126.com RELAY
|
编译access
到access.db
文件
不知道为什么使用 sudo
也没有用,我使用了sudo su
1 2 3
| sudo su makemap hash access.db < access exit
|
然后使用 sudo
编辑器查看 access.db 文件就可以看到编译成功了。
重启服务
1
| sudo service sendmail restart
|
单个用户多个邮件地址
编辑配置文件(/etc/mail/sendmail.mc
):
1 2
| 添加下面这一行 define('ALIAS_FILE','/etc/aliases')dnl
|
编辑/etc/aliases
:
1
| admin:":include:/etc/manage.user"
|
新建文件/etc/manage.user
:
1
| root,teacher,teacher@linuxstudy.com,qz@linuxstudy.com
|
编译.mc
文件成为.cf
文件:
注意我这里的m4
没有权限往这个文件夹里面写文件,这次使用sudo su
1 2 3
| sudo su m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf exit
|
使别名生效:
1 2 3
| sudo su /usr/bin/newaliases exit
|
重启服务
1
| sudo service sendmail restart
|
以上