邮件模板调试记录:折腾了两天,真心累 流水账,别太认真哈。
我承认是我低估了这个事,本来都没想发文章。默认的模板用的时间也挺久了,就想自己做个评论回复通知邮件模板,真以为是件挺简单的事儿,本来不应该折腾成这样。说到底就是发封邮件,带点背景图,排排版,不就那么回事嘛?结果没想到,搞了这么久,整得跟攻坚战似的。
直到现在我也在想,画图的来玩代码真是隔行如隔山,经验的缺失导致我走了不少弯路,也让我对自己的能力有了更深刻的认识,多学多了解永远也不会错。
不说别的,先给大家看看做了个什么样。

PC端通知邮件模板

PC端博主留言通知邮件模板

手机端,这是163邮箱的效果
能力不足,水平有限,真的只是一个简单的模板。就这东西第一版很快写完了,我都不信到最后竟然占用了我这么多时间,主要是死在了调试上,嘛,也支持手机端显示。代码放在最后,有需要的大家可以自取,怎么使用可以看张洪大佬的教程,我就不详细说了。
1.折腾的开始。
首先还是要感谢张洪大佬,就是因为看到了张洪大佬的模板,我才决定要自己写一个,因为默认模板确实太阳春了,张洪大佬原教程的模板已经很好看了,但是粗略的瞅了一眼觉得蛮简单的,抱着我上我也行的心态,就自己写了一个。
一开始上来就写,根本没意识到邮件模板跟网页不一样。想着写网页的那套CSS写法,直接套进去就能用了,结果效果一出来,人傻了,不应该啊。QQ邮箱那边背景图没了,OUTLOOK更是群龙乱舞,文字颜色也不对,按钮布局也乱七八糟,完全不是我想要的样子。但是我在本地测试都是正常的,163邮箱发件箱看上去稍微正常点,我意识到问题不简单。
我还一度怀疑自己写代码写错了,来回改了N版代码,发到邮箱看效果,反复对比、查资料、试着用各种写法。唉,真是让我折腾得够呛。说实话,我就跑去QQ邮箱和Outlook邮箱反复发了不下十几二十封邮件,死活显示不对劲。

看乐了。
这里真的要感谢柳哥,一句话就点醒我(没醒),不但这次,以前也帮助了我很多,他人真的超级好,赶紧去他的首页和他交朋友:清羽飞扬

傻小子还搁那边写js呢,让人笑话,一语点破梦中人,醒了吗 如醒。
这过程中,想说就这模样凑合着发吧。但又不甘心,就这么个玩意到底真有这么难吗?
2. 我真是见鬼了。
到这里,我已经不在乎什么模板不模板的了,我写的代码我逐行检查过了,应该是没问题的,我现在纠结的点是到底为什么各家显示的效果不一样呢?163几乎完美,QQ和OUTLOOK都不行。但是不行的点还不太一样 一份邮件发到三家邮箱三个效果都不一样,我真是见鬼了。对于代码的不自信和这方面的小白的我来说,让我想到了那句话,只要学习差,生活处处是魔法,我也是见着魔法了。

这是第一版,本地实验非常完美 我还想当然的还加了日夜切换

OUTLOOK显示一坨 样式乱Font Awesome 外链图标根本不显示
改来改去,我也不知道到底哪里出了问题。我真的是很想放弃了,我真是没办法了,我只能求助与CHATGPT,让他帮我看看问题出在哪里。
人工智能比我这个人工智障强太多了,说了一个我从来没想过的点,邮件模板写法跟网页不一样,很多新式CSS根本不兼容邮件客户端,我作为一个0经验的爱好者,我完全完全不知道邮件还有兼容性这回事。

谢谢你 我的朋友
3. 后面疯狂测试,折腾了不知道多少次。
到现在,我至少知道了原因。我把模板里用到的 CSS 都改了好几遍,特别是背景图的写法。邮件模板里不能用普通网页那套写法,很多邮箱都只支持传统 table 结构和行内样式。
听了AI的话用了 table background=”…” 这种老式写法,确实 QQ 邮箱开始能显示背景图了。163 邮箱、Outlook 等主流邮箱也没问题。这个才算是个关键突破。
但背景图显示没问题,布局又出问题了,比如文字左对齐没到位,按钮和内容框没对齐,头像框被背景图框住,这些细节又得调整,总的来说,事情开始慢慢好起来了。
其实整个页面结构没变,就是把容器包到 table 里,保证背景色用 bgcolor=”#000000” 预设纯黑背景,防止邮箱不支持背景图时显示空白。然后背景图写在 table background=”…” 里,再用 style 里的 background-position、background-size 等保证美观。
刚开始改完觉得差不多了,发到 QQ 邮箱测试又改布局、测试又测试。发现不同邮箱表现差异巨大,某些效果根本没法统一。为了兼容还去掉了一些东西,改成黑色半透明遮罩,文字颜色恢复默认。
现在回头想想,其实事情没那么复杂,各大邮箱对 CSS 的支持参差不齐,导致我不停折腾。尤其是 QQ 邮箱对背景图和透明度支持很有限,163 邮箱倒是听话,那逆天的Outlook 也是不支持现代 CSS,现阶段,想让所有主流邮箱都正常显示,我估计是得用最传统、最保守的写法:表格布局、内联样式、老式属性。
为了不打自己的脸,我话也不说这么满了,毕竟不是我自己的领域,可能有更好的解法,我也不知道。毕竟这思路都是AI给我的。
说说我的感受
目前的方案是:
用 table 包裹整体,写 background=”…” 传统写法显示背景图;
设纯黑底作为兜底,兼容不支持背景图的邮箱;
文字颜色用安全色,避免因深浅不一致导致阅读困难;
布局靠表格和内联样式调整,保证按钮和内容左对齐,头像不被边框框住。
这样一来,至少主流邮箱表现算稳定,QQ 邮箱背景图能显示,文字颜色正常,布局不乱。
折腾了这么多次,心态是复杂的:一方面,这么简单的背景图和透明度,理论上不该这么折腾。另一方面,如果真的只有这种解法那邮箱环境实在不友好,很多东西都得退回“老传统”才能保证稳定。说白了,看来做邮件模板根本不是网页开发,是另一门艺术。我自己之前完全没意识到这些兼容坑,甚至以为邮箱能支持 JS,真是joker了。实话说现在的成品实际不如第一版 我也不打算搞了 就这样其实也挺好,我也不想再折腾了。
最后
代码放在这里 头像和背景图都能更换 我加了注释,代码很简单,可以根据你的要求自定义。
通知邮件模板代码1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78
| <!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="UTF-8" /> <title>评论回复通知</title> </head> <body style="margin:0; padding:0;"> <table width="100%" height="100%" cellpadding="0" cellspacing="0" border="0" background="https://bu.dusays.com/2025/07/01/68639483be5c9.png" style="background-repeat:no-repeat; background-size:cover; background-position:center; padding:20px; font-family:'Segoe UI', 'PingFang SC', -apple-system, BlinkMacSystemFont, Roboto, 'Helvetica Neue', Arial, sans-serif; background-color:#000000;"> <tr> <td align="center" valign="top">
<table width="640" cellpadding="0" cellspacing="0" border="0" style="margin-bottom:20px;"> <tr> <td align="center"> <div style="width:150px; height:150px; border-radius:50%; background-image:url('https://bu.dusays.com/2025/05/30/6838a5699eec2.png'); background-size:cover; background-position:center; border:4px solid #ffffff; box-shadow:0 10px 30px rgba(0,0,0,0.15);"></div> </td> </tr> </table>
<table width="640" cellpadding="0" cellspacing="0" border="0" style="background-color:#000000CC; border-radius:16px; padding:30px; border:1px solid #FFFFFF33;"> <tr> <td> <h1 style="text-align:center; font-size:26px; font-weight:700; color:#FF6991; margin:0 0 15px;">嘿!你在 ${SITE_NAME} 博客中收到一条新回复。</h1> <p style="text-align:center; font-size:16px; color:#cccccc; margin:0 0 35px;">你之前的评论在 ${SITE_NAME} 博客中收到来自 ${NICK} 的回复</p> <table width="100%" cellpadding="0" cellspacing="0" border="0" style="background-color:#000000B3; border-radius:12px; border:1px solid #FFFFFF33; padding:25px 20px;"> <tr> <td style="padding:15px; background-color:#00000080; border-radius:8px;"> <div style="font-weight:bold; color:#FF6991; font-size:18px; margin-bottom:8px;">👤 ${PARENT_NICK}</div> <div style="font-size:16px; color:#f0f0f0; line-height:1.5;">${PARENT_COMMENT}</div> </td> </tr> <tr> <td> <div style="height:1px; background:linear-gradient(to right, transparent, #FF6991, transparent); margin:10px 0;"></div> </td> </tr> <tr> <td style="padding:15px; background-color:#00000080; border-radius:8px;"> <div style="font-weight:bold; color:#FF6991; font-size:18px; margin-bottom:8px;">💬 ${NICK}</div> <div style="font-size:16px; color:#f0f0f0; line-height:1.5;">${COMMENT}</div> </td> </tr> </table> <div style="text-align:left; margin-top:35px;"> <a href="${POST_URL}" style="display:inline-block; background:#FF699138; color:#FF6991; padding:12px 40px; border-radius:50px; text-decoration:none; font-weight:600; border:1px solid #FF6991;">🔗 查看详情</a> </div> </td> </tr> </table>
<table width="640" cellpadding="0" cellspacing="0" border="0" style="margin-top:20px;"> <tr> <td style="text-align:center; font-size:14px; color:#888888;"> 此邮件由评论服务自动发出,直接回复无效。<br /> <a href="https://leoblog.cc" style="color:#FF6991; text-decoration:none; font-weight:600;">前往博客</a> </td> </tr> </table>
</td> </tr> </table> </body> </html>
|
博主通知邮件模板代码1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74
| <!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="UTF-8" /> <title>LEO,你收到了 ${NICK} 的新回复</title> <style> body,html { margin:0; padding:0; } </style> </head> <body style="margin:0; padding:20px; font-family:'Segoe UI','PingFang SC',-apple-system,BlinkMacSystemFont,Roboto,'Helvetica Neue',Arial,sans-serif; background-color:#000000;"> <table width="100%" cellpadding="0" cellspacing="0" bgcolor="#000000" background="https://bu.dusays.com/2025/07/01/68639483be5c9.png" /*背景图地址 这里修改邮件背景图 */ style="background: url('https://bu.dusays.com/2025/07/01/68639483be5c9.png') no-repeat center center / cover; background-color: #000000; min-height: 100vh;" > <tr> <td align="center" valign="top" style="padding: 20px;"> <div style="max-width:640px; margin:0 auto; background:rgba(0,0,0,0.6); border-radius:16px; padding:50px 30px 30px; border:1px solid #2b2b2b; color:#e0e0e0;"> <div style="height:120px; position:relative; margin-bottom:80px; display:flex; justify-content:center; align-items:flex-end;"> <div style="width:150px; height:150px; border-radius:50%; position:absolute; bottom:-75px; background-image:url('https://bu.dusays.com/2025/05/30/6838a5699eec2.png'); /* 【头像图片地址】 */ background-size:cover; background-position:center; border:4px solid #2b2b2b; box-shadow:0 10px 30px rgba(0,0,0,0.15);"> </div> </div> <h2 style="text-align:center; font-size:24px; font-weight:700; color:#ff6b9c; margin-bottom:15px;"> LEO,你收到了 ${NICK} 的新回复 </h2> <p style="text-align:center; font-size:16px; color:#cccccc; margin-bottom:35px;"> LEO,你在 ${SITE_NAME} 的文章下收到新回复 </p>
<div style="padding:15px; border-radius:8px; background:rgba(219,33,75,0.03); margin-bottom:15px;"> <div style="font-weight:bold; color:#ff6b9c; font-size:18px; margin-bottom:8px; text-align:left;">💬 评论内容</div> <div style="font-size:16px; line-height:1.5; color:#e0e0e0; text-align:left;"> ${COMMENT} </div> </div>
<div style="padding:15px; border-radius:8px; background:rgba(219,33,75,0.03); margin-bottom:15px;"> <div style="font-weight:bold; color:#ff6b9c; font-size:18px; margin-bottom:8px; text-align:left;">📧 邮箱地址</div> <div style="font-size:16px; line-height:1.5; color:#e0e0e0; text-align:left;"> ${MAIL} </div> </div>
<a href="${POST_URL}" style="display:inline-block; background:rgba(255,107,156,0.2); color:#ff6b9c; padding:12px 40px; border-radius:50px; text-decoration:none; font-weight:600; border:1px solid #ff6b9c; margin-top:35px; text-align:center;"> 🔗 查看这条评论 </a> </div>
<div style="text-align:center; font-size:14px; color:#aaaaaa; padding:20px;"> 这是一条来自你的博客的邮件提醒,点击进入: <a href="${SITE_URL}" style="color:#ff6b9c; text-decoration:none; font-weight:600;"> ${SITE_NAME} </a> </div> </td> </tr> </table> </body> </html>
|