淘先锋技术网

首页 1 2 3 4 5 6 7
PHP与CentOS下的Sendmail一直以来就是开发者们必须掌握的技能。PHP作为一种脚本语言,与操作系统的交互是必不可少的。而Sendmail作为建立在SMTP协议之上的邮件传输代理软件,扮演着极其重要的角色。本文将详细探讨如何在PHP与CentOS下使用Sendmail发送邮件。 第一步:安装Sendmail 在CentOS 7上安装Sendmail非常简单,只需在终端运行如下命令即可:
sudo yum install sendmail
第二步:配置Sendmail 在安装完成后,我们需要进行相应的配置。配置文件位于/etc/mail/sendmail.mc目录下。为了使Sendmail能够被PHP成功调用发送邮件,我们需要将以下行:
DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA’)dnl
改为:
dnl DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA’)
然后在配置文件的末尾添加如下代码:
define(`SMART_HOST',`smtp.gmail.com')dnl
define(`RELAY_MAILER_ARGS', `TCP $h 587′)dnl
define(`ESMTP_MAILER_ARGS’, `TCP $h 587′)dnl
define(`confAUTH_OPTIONS’, `A p’)dnl
TRUST_AUTH_MECH(`LOGIN PLAIN’)dnl
define(`confAUTH_MECHANISMS’, `LOGIN PLAIN’)dnl
FEATURE(`authinfo’)
define(`SMTP_AUTH_USER’, `your_email@gmail.com’)dnl
define(`SMTP_AUTH_PASSWORD’, `password’)dnl
define(`define(`_USE_ETC_MAIL_’)dnl
该代码中使用了Gmail的SMTP服务,需要填写正确的帐号和密码。 第三步:重启Sendmail 我们在修改了Sendmail的配置文件后,需要重启服务来生效。可以使用如下命令:
sudo service sendmail restart
第四步:使用PHP的mail()函数发送邮件 PHP提供了mail()函数来实现邮件发送。在使用mail()函数之前,我们应该配置好PHP的php.ini文件。首先找到下列参数并进行修改:
[mail function]
; For Win32 only.
SMTP = smtp.gmail.com
; For Win32 only.
smtp_port = 587
; For Win32 only.
sendmail_from = example@gmail.com
; For Unix only. You may supply arguments as well (default: “sendmail -t -i”).
sendmail_path = /usr/sbin/sendmail -t -i
将SMTP和smtp_port的值修改为以下内容:
SMTP = smtp.gmail.com
smtp_port = 587
然后在PHP代码中使用mail()函数即可发送邮件,例如:
mail(‘recipient@example.com’, ‘Subject’, ‘Content’);
至此,我们已经完成了PHP和CentOS下Sendmail的配置,可以愉快地使用mail()函数发送邮件了。