排序
在emlog网站中添加运行时间教程
大家现在看到很多人的博客上都添加了这一功能,显示网站从建立到现在已经运行的时间。有些人在应用中心也找到了网站运行时间这个插件,但是对于用emlog 5.1的人可能会发现,这个插件本身跟emlog 5.1稍微有一点冲突,所以对于很多人来说很是烦恼。那么怎样才能在页面中实现这一功能呢?今天就来教大家:
首先,大家可以看到本站的底部的右下角显示了本站运行时间,今天就按照本站的功能实现方法来讲解,其实实现起来很简单,只需要在想显示时间的地方插入一段代码即可。代码如下:
<span id="timeDate">载入天数...</span><span id="times">载入时分秒...</span> <script language="javascript">
var now = new Date();
function createtime(){
var grt= new Date("07/03/2013 00:00:00");
now.setTime(now.getTime()+250);
days = (now - grt ) / 1000 / 60 / 60 / 24;
dnum = Math.floor(days);
hours = (now - grt ) / 1000 / 60 / 60 - (24 * dnum);
hnum = Math.floor(hours);
if(String(hnum).length ==1 ){hnum = "0" + hnum;}
minutes = (now - grt ) / 1000 /60 - (24 * 60 * dnum) - (60 * hnum);
mnum = Math.floor(minutes);
if(String(mnum).length ==1 ){mnum = "0" + mnum;}
seconds = (now - grt ) / 1000 - (24 * 60 * 60 * dnum) - (60 * 60 * hnum) - (60 * mnum);
snum = Math.round(seconds);
if(String(snum).length ==1 ){snum = "0" + snum;}
document.getElementById("timeDate").innerHTML = "本站已安全运行"+dnum+"天";
document.getElementById("times").innerHTML = hnum + "小时" + mnum + "分" + snum + "秒";
}
setInterval("createtime()",250);
</script>
PHP 使用 PHPMailer 发送电子邮件
1. PHPMailer 介绍
phpMailer 是一个非常强大的 php 发送邮件扩展包,可以设定发送邮件地址、回复地址、邮件主题、html邮件内容和上传附件等,使用起来非常方便。它目前有着有近 4 千万的下载量,是 PHP 开发者实现邮件发送功能的首选扩展包
它对 PHP 版本的要求也很低,只要 PHP 版本大于等于 5.5 就能使用,是一个非常优秀的邮件发送扩展包
Packagist 传送地址 : https://packagist.org/packages/phpmailer/phpmailer
composer require phpmailer/phpmailer
2. 发送邮件代码示例
下面是发送邮件比较完整的代码,以 QQ邮箱作为 SMTP 服务器发送邮件
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\SMTP;
use PHPMailer\PHPMailer\Exception;
try {
$mail = new PHPMailer(true);
//设定邮件编码,默认ISO-8859-1,如果发中文此项必须设置,否则乱码
$mail->CharSet = 'UTF-8';
# 服务器设置
//启用详细调试输出
//$mail->SMTPDebug = SMTP::DEBUG_SERVER;
// 使用SMTP发送
$mail->isSMTP();
//要发送的SMTP服务器
$mail->Host = 'smtp.qq.com';
//启用SMTP身份验证
$mail->SMTPAuth = true;
//SMTP用户名
$mail->Username = '23426945@qq.com';
//SMTP密码
$mail->Password = 'mftcnkcrrcixxxxx';
//启用隐式TLS加密
$mail->SMTPSecure = PHPMailer::ENCRYPTION_SMTPS;
//要连接到的TCP端口
$mail->Port = 465;
#发件人信息
$mail->setFrom('23426945@qq.com', '又拍云');
#收件人列表,可将邮件发送给多个邮箱,命令格式:
//$mail->addAddress('收件人邮箱', '姓名');
$mail->addAddress('848978691@qq.com', '李知恩');
$mail->addAddress('3276205785@qq.com', '灰太狼的羊');
#回复地址
$mail->addReplyTo('23426945@qq.com', '李钟硕');
#抄送人列表
$mail->addCC('itqaqcom@163.com', '你的欲梦');
# 邮件内容
//电子邮件格式设置为HTML
$mail->isHTML(true);
//邮件标题
$mail->Subject = '又拍云密码重置校验';
//邮件内容
$code = mt_rand(100000, 999999);
$mail->Body = "您的验证码为: <b>{$code}</b>";
//这个是设置纯文本方式显示的正文内容,如果不支持Html方式,就会用到这个,基本无用
$mail->AltBody = "您的验证码为: {$code}";
#发送邮件
$mail->send();
echo '邮件发送成功';
} catch (\Exception $e) {
// $e->getMessage() // 异常信息
// $mail->ErrorInfo // 邮件发送失败错误信息
echo "邮件发送失败: {$mail->ErrorInfo}";
}
3. 邮件内容样式模板
邮件的内容一般都不是纯文本,会具有一定的样式,如下图所示,那么具有内容的样式应该怎么来做呢 ?
发送邮件时,邮件内容支持设置带有 HTML 标签,我们只需要传入带有样式的 HTML 内容
可以提前编写好样式,最后压缩为一行,部分内容作为变量(如: 验证码),然后作为邮件内容发送
在线压缩 HTML 代码 : https://tool.lu/html
<!-- 编写的样式 -->
<style>
.box {
text-align: center;
border: 1px solid red;
padding: 15px 0;
width: 450px;
margin: 0 auto;
}
.title {
color: red;
font-weight: bold;
text-align: center;
margin-bottom: 10px;
}
</style>
<div class="box">
<div class="title">密码重置</div>
<div class="code">验证码: 123456</div>
</div>
<!-- 压缩后 -->
<style>.box{text-align:center;border:1px solid red;padding:15px 0;width:450px;margin:0 auto}.title{color:red;font-weight:700;text-align:center;margin-bottom:10px}</style><div class="box"><div class="title">密码重置</div><div class="code">验证码: 123456</div></div>
当我们不想自己编写邮件内容模板样式时,可以扒取其他平台的邮件模板
扒取又拍云邮件模板举例 : 我要做一个通过邮件找回密码的功能,又不想自己写这个邮件模板样式,于是我找到 又拍云 的重置密码邮件模板,扒取下来,在它的基础上进行修改,省时省力,何乐而不为
在又拍云平台重置密码,得到一个重置密码的邮件,在控制台查看元素可发现:邮件内容为下图所标记的部分,将元素复制出来后进行修改即可
4. 验证码邮件模板
又拍云验证码模板
<div style="padding: 66px 0; width: 100%; background-color: #ededed; color: #777;" align="center">
<div style="width: 700px; background-color: #fff; text-align: left;margin: 0 auto;padding: 20px 0;">
<div style="margin: 30px 60px; width:580px; ">
<strong>亲爱的 duxiu,</strong>
<p style="font-size: 14px; color: #777; line-height: 26px;">您正在通过邮件找回又拍云密码。</p>
<p style="font-size: 14px; color: #777; line-height: 26px;">请在重置密码的页面中输入以下 <strong>验证码</strong>
和新的密码,完成密码重设:</p>
<p
style="font-size: 20px; color: #777; line-height: 50px; border: 1px solid #24b0cf; background: #fafafa; text-align: center;">
<span style="color: #24b0cf; font-weight: bold;">657475</span>
</p>
<p style="font-size: 14px; color: #aaa; line-height: 16px;">(此验证码有效时间为 60 分钟,若超时请重新获取邮件) </p>
<p style="font-size: 14px; color: #777; line-height: 26px;">如果您要放弃重设密码,或者未曾申请密码重设,请忽略此邮件。</p>
<p style="font-size: 14px; color: #777; line-height: 26px;">
<strong>为了您的账户安全,请您注意对此邮件内容保密。</strong>
</p>
</div>
</div>
</div>