CentOS7 配置sendmial + PHP mail函数发送邮件

15 篇文章 0 订阅
6 篇文章 0 订阅

直接上步骤~~~~~~~~~~~~~~`


1. 关闭IPV6(默认是开启的,IPV4和IPv6的地址不一样,关闭后记得检查IP地址)

 sysctl -w net.ipv6.conf.all.disable_ipv6=1
 sysctl -w net.ipv6.conf.default.disable_ipv6=1




2. 安装sendmail(也可能是已经安装好了的)


1)安装命令:

#yum install -y sendmail
#yum install -y sendmail-cf

如果需要SMTP验证就安装并启动saslauthd服务:
# yum install -y saslauthd (可能已经默认安装了,就不需要执行这个命令,直接执行下面的启动好了)
# systemctl start saslauthd   (这个不要忘记启动哦)


2)配置

a)

# vi /etc/mail/sendmail.mc

dnl TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl

dnl define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl

将上面两行的dnl去掉。在sendmail文件中,dnl表示该行为注释行,是无效的,因此通过去除行首的dnl字符串可以开启相应的设置行。


b)

# vi /etc/mail/sendmail.mc

DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')dnl

将127.0.0.1改为0.0.0.0,意思是任何主机都可以访问Sendmail服务


3)生成配置文件

Sendmail的配置文件由m4来生成,m4工具在sendmail-cf包中。如果系统无法识别m4命令,说明sendmail-cf软件包没有安装。

#m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf

4)重启

systemctl restart sendmail

#可以用下面的命令查看状态:
systemctl status sendmail




3. CentOS修改主机名(hostname)

需要修改两处:一处是/etc/sysconfig/network,另一处是/etc/hosts,只修改任一处会导致系统启动异常。首先切换到root用户。

  • /etc/sysconfig/network

用任一款你喜爱的编辑器打开该文件,里面有一行 HOSTNAME=localhost.localdomain (如果是默认的话),修改 localhost.localdomain 为你的主机名。

  • /etc/hosts

打开该文件,会有一行 127.0.0.1 localhost.localdomain localhost 。其中 127.0.0.1 是本地环路地址, localhost.localdomain 是主机名(hostname),也就是你待修改的。localhost 是主机名的别名(alias),它会出现在Konsole的提示符下。将第二项修改为你的主机名,第三项可选。

将上面两个文件修改完后,并不能立刻生效。如果要立刻生效的话,可以用 hostname your-hostname 临时修改,它只是临时地修改主机名,系统重启后会恢复原样的。但修改上面两个文件是永久的,重启系统会得到新的主机名。


最后,重启后查看主机名 uname -n



4.邮件队列

1)查看邮件队列:mailq

2)强制送信:/usr/sbin/sendmail -q -v            # 对MTA队列强制送信

3)清空队列: /var/spool/mqueue  (删除里面的文件)


 


评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值