自己动手搭建smtp邮箱服务器,内网向外网发送邮件

自己动手搭建smtp邮箱服务器,内网向外网发送邮件

本文转自 高老师 并作补充

(1).移除sendmail,并安装postfix

1
2
3
rpm -e sendmail 或者 yum remove sendmail

yum install postfix

(2).配置hostname为mail.nidey.com,可以自定义

1
2
3
vim /etc/hostname

mail.nidey.com

(3).配置hosts,ip就是本地的局域网ip

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
vim /etc/hosts

192.168.1.101 mail.nidey.com

## (4).配置postfix

```bash
vim /etc/postfix/main.cf

##基础配置
myhostname = mail.nidey.com
mydomain = nidey.com
myorigin = $mydomain
inet_interfaces = all
inet_protocols = all
mydestination = $myhostname, $mydomain

##SMTP账户认证配置
smtpd_client_restrictions = permit_sasl_authenticated #指定可以向postfix发起SMTP连接的客户端的主机名或ip地址
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated #此处permit_sasl_authenticated意思是允许通过了sasl认证的所有用户
smtpd_sasl_auth_enable = yes #指定postfix使用sasl验证 通俗的将就是启用smtp并要求进行账号、密码校验
smtpd_sasl_security_options = noanonymous #取消smtp的匿名登录 此项默认值为noanonymous 此项请务必指定为noanonymous

(5).安装sasldb、saslauthd,用来创建smtp账户

1
yum -y install cyrus-sasl cyrus-sasl-lib cyrus-sasl-plain cyrus-sasl-devel

(6).编辑sasl2配置

1
2
3
4
5
6
32位  vim  /usr/lib/sasl2/smtpd.conf
64位 vim /etc/sasl2/smtpd.conf

pwcheck_method: auxprop
auxprop_plugin: sasldb
mech_list: plain login CRAM-MD5 DIGEST-MD5

(7).创建smtp账号,自动让你输入密码

1
saslpasswd2 -c -u nidey.com 392223903

上面生成的邮箱账号:392223903@nidey.com

(8).其他命令

1
2
sasldblistusers2   查看所有用户
saslpasswd2 -d 392223903@nidey.com 删除用户

(9).重置文件权限,否则postfix读取不到

1
chmod 755 /etc/sasldb2

(10).重启postfix 软件

1
2
postfix stop
postfix start

然后就可以用smtp协议+25端口发出邮件了。