现在的位置: 首页 -> PHP学习 -> PHP源码 -> php利用smtp类轻松的发送电子邮件

php利用smtp类轻松的发送电子邮件

2013-07-31 00:09评论数 209 ⁄ 被浏览 174216 views+

当你还在纠结php内置的mail()函数不能发送邮件时,那么你现在很幸运,此时的这篇文章可以帮助到你!


php利用smtp类来发邮件真是屡试不爽,我用过很久了,基本上没出过问题。本博客后台,当博主回复留言时候,会自动给网友发一封有新回复提示的邮件也是用的本文这个方法实现的。


smtp类发送邮件的方法其实很简单,也很稳定,类是别人已经写好的了,你只需要调用就行了。几行简单的配置就能发邮件,是不是很期待的试一试呢!


以下就是核心代码:


<?php

require_once "Smtp.class.php";

//******************** 配置信息 ********************************

$smtpserver = "smtp.126.com";//SMTP服务器

$smtpserverport =25;//SMTP服务器端口

$smtpusermail = "new2008oh@126.com";//SMTP服务器的用户邮箱

$smtpemailto = $_POST['toemail'];//发送给谁

$smtpuser = "new2008oh";//SMTP服务器的用户帐号(或填写new2008oh@126.com,这项有些邮箱需要完整的)

$smtppass = "您的邮箱密码";//SMTP服务器的用户密码

$mailtitle = $_POST['title'];//邮件主题

$mailcontent = "<h1>".$_POST['content']."</h1>";//邮件内容

$mailtype = "HTML";//邮件格式(HTML/TXT),TXT为文本邮件

//************************ 配置信息 ****************************

$smtp = new Smtp($smtpserver,$smtpserverport,true,$smtpuser,$smtppass);//这里面的一个true是表示使用身份验证,否则不使用身份验证.

$smtp->debug = false;//是否显示发送的调试信息

$state = $smtp->sendmail($smtpemailto, $smtpusermail, $mailtitle, $mailcontent, $mailtype);


echo "<div style='width:300px; margin:36px auto;'>";

if($state==""){

echo "对不起,邮件发送失败!请检查邮箱填写是否有误。";

echo "<a href='index.html'>点此返回</a>";

exit();

}

echo "恭喜!邮件发送成功!!";

echo "<a href='index.html'>点此返回</a>";

echo "</div>";

?>


完整范例下载:phpmail技术.zip


效果截图欣赏:


填写收件人,标题和内容后提交


返回成功的提示

瞬间便接收到了邮件


本博客所有案例都经过本人亲自测试,方法也绝对简单易懂,希望大家多多支持,有问题可以与我交流!

请记住我,php学习博客

 

文章出自:http://www.daixiaorui.com/read/16.html 本站所有文章,除注明出处外皆为原创,转载请注明本文地址,版权所有。

分享到:

目前有 208 条评论  @我要评论

  1. 208楼551 : 2017-10-16 17:08:39 评论说: @回复

    测试

  2. 207楼robin : 2017-10-13 22:06:51 评论说: @回复

    qq邮箱提示 530 Must issue a STARTTLS command first

  3. 206楼雪剑无影 : 2017-10-08 15:41:40 评论说: @回复

    请问使用这个邮件类怎么发附件,解答一下,谢谢!

  4. 205楼weqw : 2017-10-03 16:16:21 评论说: @回复

    Trying to smtp.qq.com:25 220 smtp.qq.com Esmtp QQ Mail Server Connected to relay host smtp.qq.com > HELO localhost 250 smtp.qq.com > AUTH LOGIN NjA0ODk4OTA0 530= 这是什么原因啊 大哥 求救

  5. 204楼weqw : 2017-10-03 16:05:23 评论说: @回复

    失败啊

  6. 203楼Mr w : 2017-09-25 15:15:05 评论说: @回复

    对不起,邮件发送失败!请检查邮箱填写是否有误。试了好几个 还是不行啊

  7. 202楼bbcad : 2017-09-24 16:06:39 评论说: @回复

    本地测试发送成功,上传到阿里服务器就报错,连接不上服务器

  8. 201楼rtert : 2017-09-18 14:26:17 评论说: @回复

    fsdfddfdsdsfdfs

  9. 200楼Felery : 2017-09-14 21:25:32 评论说: @回复

    为什么总是显示发送失败,请检查邮箱是否正确

  10. 199楼大大大大猫咪 : 2017-09-14 11:41:21 评论说: @回复

    Must issue a STARTTLS command first这是为何,不是默认ssl的吗,怎么还要设置tls

  11. 198楼大大大大猫咪 : 2017-09-14 11:40:29 评论说: @回复

    530 Must issue a STARTTLS command first

  12. 197楼小小新 : 2017-09-13 16:34:07 评论说: @回复

    我不知道我是落了什么 一直是报连接超时的错 可不可以解答一下? 研究了好久了~

  13. 196楼鑫哥 : 2017-09-01 12:16:26 评论说: @回复

    请问这段核心代码要怎么用呢?要写在哪里,可以吧具体详细的步骤写出来吗,这个真的没看懂,只看看到都说挺好用,但却不知道怎么用它。分享出来万分感谢,邮件设置失败已经搞了我好几天了,一直没搞好。谁能帮帮忙,谢谢了

  14. 195楼邵崟陟 : 2017-08-30 16:11:26 评论说: @回复

    TP怎么引入

  15. 194楼yao : 2017-08-25 18:01:29 评论说: @回复

    内部服务器错误

  16. 193楼bbddee : 2017-08-22 16:31:43 评论说: @回复

    一次通过,感谢博主

    回复留言标识 Mr w 回复 bbddee:教教我呗!

    2017-09-25 14:58:26  @回复

  17. 192楼chuang_no1 : 2017-07-24 19:19:10 评论说: @回复

    貌似不支持SSL连接,腾讯企业邮箱强制要求SSL的,就用不了了

  18. 191楼小夫子 : 2017-07-20 16:11:03 评论说: @回复

    请问一下怎么再增加一个邮件抄送人?

  19. 190楼Ratel : 2017-07-19 16:53:38 评论说: @回复

    感谢! 学习了

  20. 189楼Ratel : 2017-07-19 16:53:19 评论说: @回复

    哦!!在垃圾箱里。

  21. 188楼Ratel : 2017-07-19 16:51:12 评论说: @回复

    您好,请问,邮件发送出去了,在网易的已发送中也确认发送了,可是收不到邮件不知道是怎么回事?

  22. 187楼胡叔叔 : 2017-07-12 13:51:51 评论说: @回复

    网易将邮件当做垃圾文件,把邮件退回来怎么解决

    回复留言标识 jun 回复 胡叔叔: 网易添加白名单呗

    2017-07-17 17:41:10  @回复

    回复留言标识 胡叔叔 回复 jun: 我是发邮件者,我发的邮件被网易退信,发不出去

    2017-07-17 17:45:02  @回复

    回复留言标识 jun 回复 胡叔叔: 你用什么邮件发的?服务器自带?域名或邮箱会添加白名单不?

    2017-07-17 17:46:38  @回复

    回复留言标识 胡叔叔 回复 jun: 网易,已添加白名单,我是把收件方写死了,指定发送到写死的邮箱,网易一直把发送的邮件拦截

    2017-07-17 17:53:01  @回复

  23. 186楼一夜东风 : 2017-07-10 18:11:05 评论说: @回复

    530 Error: A secure connection is requiered(such as ssl). More information at http://service.mail.qq.com/cgi-bin/help?id=28

  24. 185楼不会撒谎的匹诺曹 : 2017-07-05 13:44:27 评论说: @回复

    我这边使用的邮箱服务器报错:550 5.7.1 Client does not have permissions to send as this sender。这个是代码的问题,还是邮件服务器配置的问题?

  25. 184楼百变语音 : 2017-07-05 08:56:33 评论说: @回复

    我用163邮箱 提示554 DT怎么办?

  26. 183楼如何增加name : 2017-06-28 17:06:21 评论说: @回复

    如果我留言板还需要email,tel怎么增加。感谢博主

  27. 182楼jun : 2017-06-21 19:31:08 评论说: @回复

    苹果手机注册错误 安卓的可以,这什么情况?

  28. 181楼halou : 2017-06-18 11:01:22 评论说: @回复

    halou

  29. 180楼结晶碎片 : 2017-06-08 15:11:12 评论说: @回复

    非常感谢,虽然网易说那是垃圾邮件 T T

  30. 179楼chris : 2017-06-06 17:37:29 评论说: @回复

    标题中文乱码怎么治?谢谢。

  31. 178楼小九儿 : 2017-06-06 17:14:56 评论说: @回复

    Fatal error: Maximum execution time of 30 seconds exceeded in D:\\Xampp\\htdocs\\test\\email.class.php on line 334 怎么办

  32. 177楼明镜 : 2017-06-04 23:58:33 评论说: @回复

    环境为phpstudy(apache+php5.3)。$state的值为1。 请问还有什么地方需要设置的?

  33. 176楼明镜 : 2017-06-04 23:57:39 评论说: @回复

    请教楼主及各位大神: $smtpserver = "smtp.qq.com"; $smtpserverport =25; $smtpusermail = "xxxxxx@qq.com"; $smtpuser = "xxxxxx@qq.com"; $smtppass = "xxx";//(密码使用qq密码和在qq邮箱里开启POP3/SMTP服务时的授权码都试过了) 提示发送成功,实际未收到。

    回复留言标识 苍风绝影 回复 明镜: 请问您这个问题解决了吗?我也是同样的问题

    2017-07-06 12:10:15  @回复

    回复留言标识 weqw 回复 苍风绝影: 我也是同样问题,求解

    2017-10-03 16:18:26  @回复

  34. 175楼筱筱狍 : 2017-05-28 16:04:38 评论说: @回复

    我的用的126 怎么提示我失败,smtp也开启了啊

  35. 174楼一个昵称 : 2017-05-11 13:22:29 评论说: @回复

    请问一下,使用smtp如何如何设置邮箱发送的名字,而不是显示为邮箱账号

  36. 173楼空白 : 2017-05-10 18:21:33 评论说: @回复

    Trying to smtp.qq.com:465 Fatal error: Maximum execution time of 30 seconds exceeded in E:\\wamp\\www\\phpmail\\email.class.php on line 334

    回复留言标识 团子 回复 空白: 搞定了吗

    2017-07-26 16:09:06  @回复

  37. 172楼1234 : 2017-05-02 11:33:04 评论说: @回复

    啊撒地方更好撒地方官

  38. 171楼likun : 2017-04-11 21:13:11 评论说: @回复

    用邮箱发送结果发送不成功.邮箱提示:垃圾邮件让邮箱小易很烦心,现在您发送的邮件被怀疑为是垃圾邮件,拒绝接收。 改了好多内容了还是不成功

    回复留言标识 胡叔叔 回复 likun: 我也遇到这样的问题 你的解决了吗

    2017-07-17 17:54:26  @回复

  39. 170楼zp : 2017-04-06 16:05:02 评论说: @回复

    测试不成功,求帮忙

  40. 169楼哇哇哇 : 2017-03-29 10:00:39 评论说: @回复

    测试

您的每一个评论都是对我的一份支持

 博客二维码

昵称 *

邮箱 *