Linux搭建SMTP发送邮件服务器
1.关掉sendmail相关的所有服务,最好是直接卸载sendmail.
# service sendmail stop
# chkconfig sendmail off
# rpm -qa | grep sendmail | xargs rpm -e
2.安装postfix.
查看是否安装
# rpm -qa | grep postifx
没有安装的话,可以手动安装。
# yum -y install postfix
检查mail
# rpm -qa | grep mail
如果没安装就运行该命令
# yum -y install mailx
3.安装完成后,修改配置文件:/etc/postfix/main.cfg
修改postfix配置文件
文件位置:/etc/postfix/main.cf
修改以下参数,将xxx.com换成你的域名,如果参数前面有#注释,记得去掉
myhostname = mail.xxx.com
mydomain = xxx.com
myorigin = $mydomain
inet_interfaces = all
inet_protocols = ipv4
mydestination =
m
y
h
o
s
t
n
a
m
e
,
l
o
c
a
l
h
o
s
t
.
myhostname, localhost.
myhostname,localhost.mydomain, localhost, $mydomain
home_mailbox = Maildir/
4.修改完成后重启postifx:
# service postfix restart
myhostname = sample.test.com ← 设置系统的主机名
mydomain = test.com ← 设置域名(我们将让此处设置将成为E-mail地址“@”后面的部分)
myorigin = $mydomain ← 将发信地址“@”后面的部分设置为域名(非系统主机名)
inet_interfaces = all ← 接受来自所有网络的请求
inet_protocols = ipv4 ← ipv4要用小写的,注释里大写的是错的
mydestination =
m
y
h
o
s
t
n
a
m
e
,
l
o
c
a
l
h
o
s
t
.
myhostname, localhost.
myhostname,localhost.mydomain, localhost, $mydomain ← 指定发给本地邮件的域名
home_mailbox = Maildir/ ← 指定用户邮箱目录
邮箱投递方式有两种:一种是Mailbox方式,即同一个用户的所有邮件内容存储为单个文件,通常保存在/var/spool/mail/目录下文件名与用户名相同(Postfix默认使用);
第二种是Maildir方式,即使用目录结构来存储用户的邮件内容每一个用户使用一个文件夹,每封邮件都作为一个独立的文件存放。Maildir方式的存取速度和效率要好一些对于管理邮件内容页更加方便。
5.设置域名DNS
在邮件发送过程中,需要把邮件地址的domain地址转化成IP地址,再去发送给对应的收件人。(DNS中的A记录和MX记录)
如何添加DNS server?
vim /etc/resolv.conf
添加如下行:
nameserver 8.8.8.8
nameserver 8.8.4.4
上面用的8.8.8.8/8.8.4.4是Google Free DNS server,当然还有很多免费的DNS server)
有些安装后自动就添加了上面的DNS配置了,不需要再添加了
6.测试一下邮件是否能够发送成功:
发送邮件到QQ或163邮箱测试效果
echo “content” | mail -s “title” ***@qq.com
163邮箱发送人显示的"root@xxx.com 注意:前面有个双引号不是单纯root