织梦提交自定义表单后邮箱通知环境要求:

主机465端口是开启和放行的

php扩展openssl是开启的

php扩展sockets是开启的


1、*邮箱 或者 163邮箱 126邮箱 开启SMTP服务,拿到授权码,根据自己的来,其他邮箱开启SMTP服务类似


2、网站后台 - 系统 - 系统基本参数 - 核心设置

是否启用SMTP方式发送邮件:是

SMTP服务器:ssl://smtp.163.com 或者 ssl://smtp.qq.com

SMTP服务器端口:465

SMTP服务器的用户邮箱:lol9@163.com 或者 862782808@qq.com

SMTP服务器的用户帐号:lol9 或者 862782808

SMTP服务器的用户密码:填你邮箱授权码,不是邮箱登录密码


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

变量名称:cfg_shoujianren

变量类型:文本

参数说明:收件人

变量值:862782808@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 = false;//发送不成功把false改成1,再提交看错误信息
	$smtp->sendmail($cfg_shoujianren,$cfg_webname ,$cfg_smtp_usermail, $mailtitle, $mailbody, $mailtype);
}
else
{
	@mail($cfg_shoujianren, $mailtitle, $mailbody, $headers);
}

需要了解其他织梦自定义表单邮件通知方法请移步《织梦dedecms自定义表单发送到指定邮箱-用*、163邮箱发送邮件》

《织梦会员注册后通过发送邮箱审核会员配置教程》


附上服务器465端口开启方法:

目前很多服务器都关闭了25这个以往用来发送邮件的端口,而改成了465端口,造成很多站长的网站都无法再发送邮件了,这里以阿里云为例介绍一下如何将原来的25端口,改成465端口正常发送邮件

在阿里云后台找到配置规则:


然后在入方向里添加放行465端口,类似于下图操作方法: