PHP发送邮件

PHP发送邮件_第1张图片
Paste_Image.png
01

PHP发送邮件有内置函数mail,但是需要配置sendmail邮件服务器,这不是一个轻松的工作,需要你对邮件工作系统有一个基本的了解(MUA、MTA、MDA等)。我按照网上的各种教程试了一遍仍然发送失败,心灰意冷之下请教我的一个python朋友,结果他20多行代码搞定,嘲笑我php不行(php是世界上最好的语言???)。

02

还好,我发现python导入了一个Smtp包,我想也许php也可以导入来搞定。结果在网上当真找到了发送邮件类Smtp.class.php。附上链接:php利用身smtp类轻松的发送邮件

03

接下来就是按照这个网页上的方法来实战了。先是下载了网页上附带的链接phpmai技术.zip。解压后里面有三个文件:index.html sendmail.php 和Smtp.class.php。Smtp.class.php正是我们找的第三方类,也是我们发送邮件程序里需要require的类。sendmail.php是发送邮件的例程,我们可以模仿它来实现发送邮件的功能。

04

我搭建的PHP运行组件是LAMP。linux下切换到/var/www/html目录下,新建一个文件mail.php,并且把Smtp.class.php复制到这个目录下。在mail.php里面模仿sendmail.php写入发送邮件代码。如下:


PHP发送邮件_第2张图片
Paste_Image.png

代码解析为:

  1. 第2行导入发送邮件类Smtp.class.php
  2. 第4行和第5行是smtp服务器和端口号
  3. 第6行是smtp服务器上你的邮箱账号,第7行是你发信的目的地址
  4. 第8行同第6行,第9行是你的邮箱账号的授权码,注意不是你的邮箱登录密码。授权码参考QQ邮箱授权码
  5. 第10、11、12行分别是邮件标题、内容和类型
  6. 第14行为建立一个smtp对象,第15行设置为true会打印相关调试信息。
  7. 第16行将设置的参数填入sendmail函数发送
  8. 剩下行为打印邮件发送成功与否信息
05

经过上述设置后,我希望你也能和我一样能够正确发送邮件了。

PHP发送邮件_第3张图片
Paste_Image.png

在浏览器输入ubuntu地址/mail.php,点击运行。结果显示发送成功!“email has sent!”前面是调试信息。

06

我朋友很快收到了我发的邮件,开森!


PHP发送邮件_第4张图片
Paste_Image.png
07

学会利用网上的资源很重要,PHP本来就是一个快捷开发网页的web语言,不需要重复造轮子,许多函数库可以直接使用。PHP学习的道路还很长,加油。

你可能感兴趣的:(PHP发送邮件)