详解PHP发送邮件知识点
总结来说,sendmail/postfix作为垃圾和欺诈邮件泛滥前的邮件服务器软件,对业界贡献很大。随着云服务器的盛行,几乎无法以指向本机的域名向外发送邮件,sendmail/postfix除了在本机内发送提醒邮件,用处已然不大。要对外发送邮件,要么自建机房,要么使用第三方邮件系统。 PHP的mail函数作为PHP开发中,了解sendmail/postfix还是有点用处。mail函数默认使用sendmail/postfix发送邮件,了解相关配置,就能知道为啥能工作/为啥不能工作。 简单来说,要让PHP自带的mail函数正常工作,需要做以下事情: 申请域名,在DNS解析中设置MX记录,指向本机(非合法主机(FQDN,Fully Qualified Domain Name)发送的邮件都会被当做垃圾邮件直接丢弃); 安装sendmail/postfix,配置软件并运行; 配置防火墙、安全组,放行端口。 发送效率低、非面向对象的调用方式,配置麻烦以及云服务器厂商的封锁,是使用mail函数的最大阻碍。所以做PHP以来,本人并未直接用过mail函数。 PHP发送邮件发个邮件要了解这么多,会让人觉得很心累。说好的PHP是最好的语言呢? PHP发送邮件也可以很简单,推荐方式就是使用Swift Mailer或PHPMailer等类库。引入这些类库后,注册第三方邮箱(比如Gmail、QQ等),填好用户名密码,配置好STMP地址和端口,就能像发送短信一样轻松发送邮件。当然这些类库也支持使用sendmail/postfix发送邮件,但我想你不会再这样做了。 以Swift Mailer为例,直接上代码说明使用PHP发送邮件也是一个非常简单的事情! 首先,在项目中引入Swift Mailer: 然后准备好邮件内容(以文本文件为例,不带附件): setFrom(['tlanyan@tlanyan.me' => 'tlanyan']) ->setTo(['tlanyan1@tlanyan.me']) ->setBody('Hello,this is a test mail from Swift Mailer!');接着,设置好邮件传输方式(使用Gmail邮箱): setUsername('username')
->setPassword('password');
或者使用sendmail/postfix的方式(不推荐): 最后,使用transport构造mailer实例,发送邮件: send($message);老板再也不用担心发送邮件收不到了,So easy! 总结本文先回顾了发送邮件的相关概念,说明不推荐使用内置的mail函数原因,最后给出了使用第三方类库发送邮件的代码示例。 (编辑:常州站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |