织梦dedecms自定义表单发送邮件(QQ、163、126邮箱)教程

2021-03-11dedecms教程
76

环境要求(硬性指标,不支持就无法发送)
 
主机465端口是开启和放行的
php扩展openssl是开启的
php扩展sockets是开启的
虚拟主机必须开启fsockopen函数
 
阿里云虚拟主机开启fsockopen函数

 
1、QQ邮箱 或者 163邮箱 126邮箱 开启SMTP服务,拿到授权码,根据自己的来
 
QQ邮箱开启SMTP服务 和 获取授权码:

 
163邮箱开启SMTP服务和 获取授权码:

 
126邮箱开启SMTP服务,跟163一样。
 
2、网站后台 - 系统 - 系统基本参数 - 核心设置
 
是否启用SMTP方式发送邮件:是
SMTP服务器:ssl://smtp.163.com 或者 ssl://smtp.qq.com
SMTP服务器端口:465
SMTP服务器的用户邮箱:123456@163.com 或者 12345678@qq.com
SMTP服务器的用户帐号:dedecms 或者 12345678
SMTP服务器的用户密码:填你邮箱授权码,不是邮箱登录密码
 
配置163邮箱的是这样:

 
配置QQ邮箱的是这样:

 
配置126邮箱的是这样:

 
3、网站后台 - 系统 - 系统基本参数 - 添加新变量:


 
变量名称:cfg_shoujianren
变量类型:文本
参数说明:收件人
变量值:123456@qq.com
所属组:站点设置
 
 
4、打开 /plus/diy.php 找到
 
$id = $dsql->GetLastID();
 
在它的下面加入
 
$mailtitle = "{$diy->name}--留言通知";
$mailbody = '';
foreach($diy->getFieldList() as $field=>$fieldvalue)
{
$mailbody .= "{$fieldvalue[0]}:{${$field}}\r\n";
}
$headers = "From: ".$cfg_adminemail."Reply-To: ".$cfg_adminemail;
if($cfg_sendmail_bysmtp == 'Y' && !empty($cfg_smtp_server))
{
$mailtype = 'TXT';
require_once(DEDEINC.'/mail.class.php');
$smtp = new smtp($cfg_smtp_server,$cfg_smtp_port,true,$cfg_smtp_usermail,$cfg_smtp_password);
$smtp->debug = 0;//发送不成功把0改成1,再提交看错误信息
$smtp->sendmail($cfg_shoujianren,$cfg_webname ,$cfg_smtp_usermail, $mailtitle, $mailbody, $mailtype);
}
else
{
@mail($cfg_shoujianren, $mailtitle, $mailbody, $headers);
}
 
至此自定义表单发送邮件通知管理者完成
 
网易企业邮乱码的解决方法:
 
打开 /plus/diy.php 找到
 
$headers = "From: ".$cfg_adminemail."Reply-To: ".$cfg_adminemail;
 
在它下面加入一行:
 
$mailbody = mb_convert_encoding($mailbody, "GBK", "UTF-8");
 
完成
The End

相关推荐

Dedecms织梦CMS如何添加自定义函数
我们在使用dedecms时候,需要拓展函数,那么这个函数需要写在哪个文件中呢?一般来说,需要写在:include/extend.func.php中,当然也可以写在其他公共文件中方便调用,以下是几个自定义函数示例...
2025-10-05 dedecms教程
80

织梦发布文档时候字数被限制了如何修改?
织梦发布文档时候字数被限制了如何修改,下面以文章发布为例,跟版网小编教你如何修改: 程序文件 dede/article_add.php dede/article_edit.php 修改代码 这里都是被进行了截取,我们只需要将截取字符改长一点就可以 $title= cn_substrR($title,$cfg_title_ma...
2025-07-05 dedecms教程
86

dedecms怎么做判断?怎么在一个标签中输入另外一个标签?
我们在使用织梦DedeCMS系统程序开发网站中,经常遇到需要对文章标题进行字数限制,通常做法是在a标签中加入一个title属性,让鼠标放上去的时候显示完整标题。但是标题被剪裁掉一些字符而不完整,下面跟版网的小编就为你推荐另外几种标题调用方式,如进行标题...
2025-07-05 dedecms教程
69

dedecms怎样设置给图片添加水印
dedecms怎样设置给图片添加水印,具体步骤为: 一、进入系统基本参数中的附件设置,启用是否使用图片水印选项; 二、在图像水印设置中选择文字或图片水印类型,文字水印可调整字体、颜色、透明度及位置,图片水印则需上传png格式的半透明logo,并合理设置大...
2025-07-01 dedecms教程
147

dedecms织梦列表页字段怎么做判断
用到dedecms时候,有时候需要对文章列表、arclist输出时候的字段做判断显示,比如缩略图没有则不显示,有的时候就显示图片,并且固定尺寸,这个要怎么操作呢? 关于列表字段内自定义字段的调用方法,有数据则显示无数据则不显示(备注:limit=3,1意思是从第4...
2025-07-01 dedecms教程
68

织梦内容页使用if判断某个字段是否为空
我们在使用织梦dedecms时候,如何使用if判断某个字段是否为空呢?我们以文章页自定义字段website为例:使用if语句判断website网址是否为空,如果有显示website并加上网址,如果没有就不显示。 {wmd:field.website runphp='yes'}if(@me'') {@me = 'a href="'...
2025-06-21 dedecms教程
171