制作漂亮的邮件模板
文章目录
上一篇中讲到如何通过 nodejs 发送通知邮件,在发送通知邮件的时候, 假如可以有漂亮的邮件模板就更好了,但是出于安全的原因, 邮件一般不支持 link 或者 style 样式,只能通过内联的方式。
想着内联就内联,先写个 demo 看看呗,于是有了下面的代码:
| 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 | <!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>邮件模板</title>
</head>
<body>
<div class="panel" style="width: 300px;margin: 20px;border-radius: 4px;border: 1px solid #bce8f1;">
    <div class="panel-title" style="padding: 10px 15px;color: #31708f;background-color: #d9edf7;border-color: #bce8f1;border-radius: 4px 4px 0 0;">
        测试标题
    </div>
    <div class="panel-body" style="padding: 15px;color: #3a87ad;font-size: 30px;text-align: center;">
        测试内容
    </div>
</div>
<div class="panel panel-success" style="width: 300px;margin: 20px;border-radius: 4px;border: 1px solid #d6e9c6;">
    <div class="panel-title" style="padding: 10px 15px;color: #3c763d;background-color: #dff0d8;border-color: #d6e9c6;border-radius: 4px 4px 0 0;">
        测试标题
    </div>
    <div class="panel-body" style="padding: 15px;color: #468847;font-size: 30px;text-align: center;">
        测试内容
    </div>
</div>
<div class="panel panel-danger" style="width: 300px;margin: 20px;border-radius: 4px;border: 1px solid #ebccd1;">
    <div class="panel-title" style="padding: 10px 15px;color: #a94442;background-color: #f2dede;border-color: #ebccd1;border-radius: 4px 4px 0 0;">
        测试标题
    </div>
    <div class="panel-body" style="padding: 15px;color: #b94a48;font-size: 30px;text-align: center;">
        测试内容
    </div>
</div>
</body>
</html> | 
可以看到使用内联样式开发会比较耗时,会写重复的样式,而且维护起来也十分费时。
那么有没有什么办法可以不用这么麻烦呢,要是可以将普通的 css 样式自动变为内联样式就好了。
想着如何实现的时候(有空自己实现个)找到了 The Automatic CSS Inliner Tool。
有了自动转换工具,那就简单了。首先,编写普通的 html 代码,把 css 样式放到 style 标签中:
| 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 | <!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8" />
    <title>邮件模板</title>
    <style>
        .panel {
            width: 300px;
            margin: 20px;
            border-radius: 4px;
            border: 1px solid #bce8f1;
        }
        .panel-title {
            padding: 10px 15px;
            color: #31708f;
            background-color: #d9edf7;
            border-color: #bce8f1;
            border-radius: 4px 4px 0 0;
        }
        .panel-body {
            padding: 15px;
            color: #3a87ad;
            font-size: 30px;
            text-align: center;
        }
        .panel-success {
            border: 1px solid #d6e9c6;
        }
        .panel-success .panel-title {
            color: #3c763d;
            background-color: #dff0d8;
            border-color: #d6e9c6;
        }
        .panel-success .panel-body {
            color: #468847;
        }
        .panel-danger {
            border: 1px solid #ebccd1;
        }
        .panel-danger .panel-title {
            color: #a94442;
            background-color: #f2dede;
            border-color: #ebccd1;
        }
        .panel-danger .panel-body {
            color: #b94a48;
        }
    </style>
</head>
<body>
<div class="panel">
    <div class="panel-title">
        测试标题
    </div>
    <div class="panel-body">
        测试内容
    </div>
</div>
<div class="panel panel-success">
    <div class="panel-title">
        测试标题
    </div>
    <div class="panel-body">
        测试内容
    </div>
</div>
<div class="panel panel-danger">
    <div class="panel-title">
        测试标题
    </div>
    <div class="panel-body">
        测试内容
    </div>
</div>
</body>
</html> | 
然后使用上面说的工具,点击 Convert It! 转换即可生成我们想要的模板了。
文章作者 wenzhixin
上次更新 2014-01-24