今天一个朋友问我如何在PHP中发送邮件,遂我让他去百度谷歌一搜一大把。良久之后我问他问题解决与否,他很失落地表示网上的教程都是一个模板,按照他们的来会有一些问题,所以我整理了一下,准备重新把这个方法总结一下,以便留作将来参考。
1.什么是SMTP
SMTP的全称是Simple Mail Transfer Protocol,即简单邮件传输协议,简单来理解,这个玩意就是拿来发送邮件的,至于具体怎么去实现的,完全不需要深究,因为我只需要它的这个功能而已。
2.使用相应的软件来实现SMTP
我选择了hMailServer,个人感觉这个软件还不错,具体下载地址可以到这里寻
找最新版本
http://www.hmailserver.com/index.php?page=download
3.配置hMailServer
软件下好了,至于安装那都是千篇一律了,安装好之后进行登录,重点讲配置这一块。
首先,看看Status中的服务是否启动了,启动了之后进行下一步
接着找到Domain,选择右边框体的Add
接着,选中General选项卡,在Domain中写入你想要的域名,比如我使用benzlee.com。这里有个误区,很多人问,在这里不应该填写163.com或者sina.com或者tom.com这些邮箱吗?就在这一点中,很多教程都对大家产生了误导——我现在是用自己的电脑作为服务器发送邮件,为什么还要写上他们的域名?我当然可以自定义自己喜欢的域名,跟什么163.com什么sina.com完全没有任何关系。
然后,选中选项卡Limits,按照下图所示进行数据设置,这里主要是对发送邮件大小的一些限制,可以根据自己的需要调节
接下来,该要创建自己的邮件帐户了,也就是说,你使用该帐户形式发送邮件。选择benzlee.com下的Accounts,点击Add,添加自己的帐户信息
在General选项卡的Address写入自己想要的帐户名,比如我设定为benzlee,输入自己的密码,我默认为空(这个密码是随意定的,除非你要认证该帐户),设定Maximum size 为1000,这样,帐户就创建好了
然后,选择Setting->Protocols,将IMAP前面的勾去掉
接着,选择SMTP,切换到Delivery of e-mail选项卡,根据图中进行设置
然后,选择Advanced->Auto-ban,把Enabled前面的勾去掉
然后切换到IP Ranges的My Computer,进行如下设置
最后切换到Internet下,进行如下设置
搞定,hMailServer配置完毕。进入下一步
4.修改php.ini的内容,修改内容如下:
1)修改SMTP = localhost
2)修改sendmail_from = benzlee@benzlee.com,这里特别注意要去掉前面的分号,否则该句子算是被注释。这个句子是指该e-mail是由谁发送出去的,benzlee@benzlee.com就是刚才自己配置的邮件帐户。
3)修改完成之后千万记得重启下Apache,否则就没有效果了。
5.自己写一个mail.php程序,可以使用如下代码:
<?php
$content = "This is a mail from benzlee"; //此处为邮件内容
$content = wordwrap($content,70); // 如果一行大于 70 个字符,使用 wordwrap()
mail("example@example.com","This Is My SMTP",$content); //调用PHP自带的mail函数,第一个参数为发送对象,第二个为邮件标题,第三个为邮件内容。
?>
example@example.com就是你想发送邮件的信箱地址,可以改成自己常用的信箱进行验证。
6.最后调用这个写好的php文件就能发送邮件了,大功告成。
没有收到自己的邮件?别纠结,去垃圾邮件箱看看你就知道了。。
最后。转载请注明出处,道理你懂的。
分享到:
相关推荐
由于PHP没有提供现成的smtp函数,却提供了一个功能不甚灵活的mail()函数,这个函数需要服务器配置上的支持,并且不支持smtp验证,在很多 场合无法正常的工作,因此不建议使用。本文的目的在于为新手指明方向,并没有...
这个是PHP通过SMTP发送邮件类,很好用的。配置好邮件服务器的相关信息,即可成功发送邮件。已经通过测试,可以试下。
PHP利用SMTP发送邮件,代码亲自测试可以正常发关接收邮件
这是利用smtp服务器发送邮件的一个类,经过测试可用,如果不太了解使用方法,可参考我的博客文章进行使用。
封装好的smtp邮件类,内容已修改,支持php5.3以上版本。
PHP SMTP 邮件发送类 很详细,有演示方法
这是从PHP168系统中分离出来的SMTP发送邮件类,很好用的。配置好邮件服务器的相关信息,即可成功发送邮件。 部分代码: require_once("class.mail.php"); /** *服务器信息 */ $MailServer = 'mail.tulou.com'; //...
用php发送邮件,php发送邮件接口,需要自己改里面的配置文件
通过smtp发送邮件,不用PHP mail函数
利用smtp发送邮件php
php 封装类 可以直接拿来使用 class.phpmailer.php class.smtp.php.pop3.class
SMTP客户端类是一个PHP类,用来连接到邮件服务器发送邮件。发送电子邮件通过SMTP协议。它可以通过一个指定的服务器进行邮件传递或直接发送邮件到收件人的邮件服务器的紧急运送。它支持安全连接 使用SSL或TLS的后开始...
PHP利用socket SMTP方式发送邮件的类,把属性的private或public改为var,方法的private和public删除,即可用于PHP4,可发送多个地址,代码文件里有示例说明.
PHP SMTP发送类 把自己框架里的邮件发送类分享出来,希望对大家有帮助,同时做了一个小例子,方便大家使用。 QQ邮箱不让自己SMTP发给自己,所以测试时请留意这个问题。
该PHP版的邮件在线发送,适合于网页填写的表单向指定邮箱中发送,内附DEMO表单,在emailconfig.php中修改你自己的SMTP帐号信息,index.php中填写一个邮箱地址,点发送,看下是否会收到邮件。邮件内容和格式调整在...
phpmailer 调用远程smtp服务器发送邮件
php用法pear_smtp发送邮件_.docx
一个十分好用的smtp邮件类,有实例代码供大家参考.
SendCloud php发送的SMTP_代码示例2,注:此为使用 SendCloud API V2 发送邮件的示例.
php利用smtp类轻松的发送电子邮件