操作说明:此代码经过几天的测试,会无缘无故自发很多垃圾邮件,已经不推荐。
建议使用麦客和灵犀,至于版权可以参考https://www.oleou.com/jishu/2019-04-27/544.html这个暂时解决一下,毕竟是专业工具。
以前整理过
dedecms自定义表单邮件发送,之后邮件发送和表单逐渐分离,邮件提醒越来越方便。接下来介绍另外一种php利用smtp发送表单邮件的办法。
当你还在纠结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>";
?>
完整范例下载:
效果截图欣赏:
html代码
<form action="sendmail.php" method="post">
<input type="hidden" type="text" name="toemail" value="lz1473@qq.com" />
<p>标 题:<input type="text" name="title" /></p>
<p>内 容:<textarea name="content" cols="50" rows="5"></textarea></p>
<p><input type="submit" value="发送" /></p>
</form>
至此,可以应用在任何表单中使用,例如:评论、留言、表单等中。