PHP與CentOS下的Sendmail一直以來就是開發(fā)者們必須掌握的技能。PHP作為一種腳本語言,與操作系統(tǒng)的交互是必不可少的。而Sendmail作為建立在SMTP協(xié)議之上的郵件傳輸代理軟件,扮演著極其重要的角色。本文將詳細探討如何在PHP與CentOS下使用Sendmail發(fā)送郵件。
第一步:安裝Sendmail
在CentOS 7上安裝Sendmail非常簡單,只需在終端運行如下命令即可:
sudo yum install sendmail第二步:配置Sendmail 在安裝完成后,我們需要進行相應(yīng)的配置。配置文件位于/etc/mail/sendmail.mc目錄下。為了使Sendmail能夠被PHP成功調(diào)用發(fā)送郵件,我們需要將以下行:
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服務(wù),需要填寫正確的帳號和密碼。 第三步:重啟Sendmail 我們在修改了Sendmail的配置文件后,需要重啟服務(wù)來生效。可以使用如下命令:
sudo service sendmail restart第四步:使用PHP的mail()函數(shù)發(fā)送郵件 PHP提供了mail()函數(shù)來實現(xiàn)郵件發(fā)送。在使用mail()函數(shù)之前,我們應(yīng)該配置好PHP的php.ini文件。首先找到下列參數(shù)并進行修改:
[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的值修改為以下內(nèi)容:
SMTP = smtp.gmail.com smtp_port = 587然后在PHP代碼中使用mail()函數(shù)即可發(fā)送郵件,例如:
mail(‘recipient@example.com’, ‘Subject’, ‘Content’);至此,我們已經(jīng)完成了PHP和CentOS下Sendmail的配置,可以愉快地使用mail()函數(shù)發(fā)送郵件了。