dedecms自定义表单留言自动发送到邮箱

1.首先在后台“核心”—“频道模型”—“自定义表单”中添加好留言的字段

2.在后台“系统”—“系统基本参数”中添加一个变量:myemail,也就是客户留言后接收留言的邮箱。

3.在后台“系统”—“基本参数”—“核心设置”中,设置好SMTP邮件发送

4.修改plus/diy.php文件,找到“if($dsql->ExecuteNoneQuery($query)){”,在后面添加下面代码

 

//发送邮件开始
            $mailtitle=$vorname.$nachname.'在'.$cfg_webname.'发表了留言';
             
            $mailbody ="名:".$vorname."<br/>姓:".$nachname."<br/>企业名称:".$firma."<br/>邮箱:".$email."<br/>标题:".$betreff."<br/>内容:<br/>".$content."\r\n\r\n";
             
            $headers = "From:".$myemail."\r\nReply-To: ".$myemail;
             
            if($cfg_sendmail_bysmtp == 'Y' &&!empty($cfg_smtp_server))
             
            {
             
              $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($myemail, $cfg_webname,$cfg_smtp_usermail,$mailtitle, $mailbody, $mailtype);
             
            }
             
            else
             
            {
             
              @mail($myemail, $mailtitle, $mailbody,$headers);
             
            }
            //发送邮件结束

 

其中的vorname,nachname,firma,email,betreff,content是自定义表单的字段,这些字段换成自己创建的自定义表单的字段就可以了。

如果邮件没有发送成功,可以把上面的debug = false修改为debug = true查看错误原因。

发送邮件请确保自己的邮箱已经开通smtp服务,否则无法发送邮件。

志博

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: