php表单提交邮箱_phpcms v9表单向导提交表单同时发送邮件到用户邮箱

需求:用户在提交表单的同时将表单内容反馈到用户填写的邮箱内。

phpcms表单向导可以设置提交表单时允许发送邮件,但是只能发送到指定邮箱内。

方法:

1、首先配置邮箱,成功后才可能发送邮件。(配置邮箱网上方法很多,如果不会配置,请自行搜索)

2、新建表单向导,并且允许发送邮件,邮件地址留空,然后添加相应字段

1f3a3bded62c574d18992cc9856ae9d0.png

3、修改 phpcms\modules\formguide\index.php

大约69行左右

找到

$mails = explode(',', $setting['mails']);

修改为(代码内 email 为我建立的接收邮件地址字段,可随意修改)

if($_POST['info']['email']){

$mails = explode(',',$_POST['info']['email']);

}

else{

$mails = explode(',', $setting['mails']);

}

4、这时候提交表单已经可以成功发送邮件了,但是收到的邮件只有标题,没有内容,现在需要将自定义表单的内容发送到用户的邮箱内

继续修改刚才的文件大约71行左右

foreach ($mails as $m) {

sendmail($m, L('tips'), $this->M['mailmessage']);

}

修改为

$f_info = $this->db->get_one(array('modelid'=>$formid, 'siteid'=>$this->siteid));

$MailSubject = '用户提交表单['.$f_info['name'].']提醒';

$Fields = getcache('formguide_field_'.$formid, 'model');

$Fields['username']['name'] = '用户名';

$Fields['datetime']['name'] = '提交时间';

$Fields['ip']['name'] = '提交IP';

unset($data['userid'], $data['datetime']);

foreach($data as $k=>$v){

$MailBody .= $Fields[$k]['name'].':'.$v.'
';

}

foreach ($mails as $m) {

sendmail($m, $MailSubject, $MailBody.$this->M['mailmessage']);

}

到这里,就完成了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值