|
前面我已经分享过一篇 《使用DEDE织梦自带的邮件功能实现自定义表单邮件通知》的文章,这里再介绍另一种方法,其实跟前一篇的原理是一样的~
前一篇我们是直接把发送邮件的函数拷贝到 /plus/diy.php 文件中,这一篇我们通过声明 smtp 类来实现发送邮件通知的功能,下面上代码:
- global $cfg_smtp_server, $cfg_adminemail, $cfg_smtp_port, $cfg_smtp_usermail, $cfg_smtp_password, $cfg_webname;
- $to_email = $cfg_adminemail; //收件人Email,可自行替换
- $mailtitle = "测试邮件标题"; //自行设置
- $mailbody = "测试邮件内容"; //自行设置
- $mailtype = "html";
- require_once(DEDEINC."/mail.class.php");
- $smtp = new smtp($cfg_smtp_server, $cfg_smtp_port, true, $cfg_smtp_usermail, $cfg_smtp_password);
- $smtp->debug = false;
- $smtp->sendmail($to_email, $cfg_webname, $cfg_smtp_usermail, $mailtitle, $mailbody, $mailtype);
复制代码
把上面的代码放入到 /plus/diy.php 文件的$id = $dsql->GetLastID(); 语句上面,然后保存即可。
登录后台配置好邮件发送服务(方法见这里),然后测试下是不是已经可以了~
填写自定义表单,然后点击“提交”,到邮箱看看是否收到类似下面的邮件了呢?
如果没有的话,请到 这篇文章 的最下面找找相应原因。
有些朋友可能会问,我想把表单中的一些内容也发送到邮箱中,这里应该怎么写呢?其实很简单,只需要修改下 $mailbody 即可。
怎么传值?直接 $ 符号加你表单中字段的名字即可。比如表单中一个 <input name="title" />的字段,我想把 title 的值放到 $mailbody 中,只需要在你需要显示的位置写上 $title 即可获取 title 的值了。如: $mailbody = "表单中title的值为".$title;
|
|