dedecms织梦自定义表单发送到邮箱-用gmail邮箱发送邮件

用国外gmail邮箱在dedecms织梦自定义表单上发送邮件,适合海淘贸易的同学

用phpmailer来给站长发送自定义表单提交的数据到指定邮箱上,不写死任何东西,有什么字段就提交发送什么字段。

测试结果

操作教程

1、后台-系统-添加变量(设置收件人)

PHP
变量名称:cfg_shoujianren
变量类型:文本
参数说明:收件人
变量值:12345678@qq.com
所属组:站点设置

2、后台-系统-核心设置(设置gmail服务器)

3、下载PHPMailer 邮件发送类

下载,解压,把里面的4个文件放进/plus/文件夹下

4、打开 /plus/diy.php 找到

PHP
$id = $dsql->GetLastID();

在它前面一行加入

PHP
//邮件发送开始
$emailbody = '';
foreach($diy->getFieldList() as $field=>$fieldvalue)
{
	$emailbody .= $fieldvalue[0].':'.${$field}.'<br />';
}
global $cfg_smtp_server, $cfg_adminemail, $cfg_smtp_port, $cfg_smtp_usermail, $cfg_smtp_password, $cfg_webname, $cfg_basehost, $cfg_smtp_user;

require_once('PHPMailerAutoload.php');

$mail = new PHPMailer;

$mail->IsSMTP(); 
$mail->SMTPDebug = 0; 
$mail->SMTPAuth = true; 
$mail->SMTPSecure = 'tls';
$mail->Host = $cfg_smtp_server;
$mail->Port = $cfg_smtp_port;
$mail->IsHTML(true);
$mail->Username = $cfg_smtp_usermail;
$mail->Password = $cfg_smtp_password;
$mail->setFrom($cfg_smtp_user);
$mail->addAddress($cfg_shoujianren);
$mail->CharSet = 'UTF-8'; 
$mail->Encoding = 'base64';
$mail->Subject  = "=?utf-8?B?".base64_encode($diy->name)."?=";
$mail->Body     = $emailbody;
$mail->send();
//邮件发送结束

常见问题解答

没有收到邮件?

检查是否在垃圾箱里了,或者你的收件人cfg_shoujianren是否添加变量名错了

没有发送成功,报错?

检查php里socket和openssl扩展是否没开启

可以在网站根目录新建个php.php 文件,里面写上

PHP
<?php
phpinfo();

浏览器中打开这个文件 https://域名/php.php

查看页面中是否有

THE END