基于插件实现Halo自定义邮件模板

基于插件实现Halo自定义邮件模板

 次点击
261 分钟阅读

得益于困困鱼发布的邮件模板管理插件,将Halo默认简陋的邮件模板修改了一下。

插件

https://www.halo.run/store/apps/app-rnPqE

我的模板

这几套模板都是比较简约的风格,如果你喜欢其他的风格,可以自己修改代码,或者参考文末的链接~

预览

iShot_2025-07-17_19.39.39.avif

友链自助提交审核通知

<style>
  .footer {
    display: none !important;
  }
</style>
<div
  style="
    margin-left: auto;
    margin-right: auto;
    margin-top: auto;
    margin-bottom: 16px;
    background-color: #fff;
    padding-top: 32px;
    padding-bottom: 32px;
    font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial,
      Noto Sans, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji;
  "
>
  <div
    style="
      max-width: 465px;
      margin-left: auto;
      margin-right: auto;
      margin-top: 0;
      margin-bottom: 40px;
      border-radius: 1rem;
      border-width: 1px;
      border-style: solid;
      border-color: rgb(244, 244, 245);
      background: linear-gradient(to bottom right, #ffffff, #fafbfc);
      padding-left: 24px;
      padding-right: 24px;
      padding-top: 20px;
      padding-bottom: 20px;
      border-collapse: initial;
    "
  >
          <table
            align="center"
            width="100%"
            data-id="react-email-section"
            border="0"
            cellpadding="0"
            cellspacing="0"
            role="presentation"
            style="margin-top: 24px"
          >
            <tbody>
              <tr>
                <td>
                  <img
                    data-id="react-email-img"
                    alt="Cali"
                    src="https://cali.so/subscription-email-header.jpg"
                    width="250"
                    height="129.28"
                    style="
                      display: block;
                      outline: none;
                      border: none;
                      text-decoration: none;
                      margin-left: auto;
                      margin-right: auto;
                      margin-top: 0px;
                      margin-bottom: 0px;
                    "
                  />
                </td>
              </tr>
            </tbody>
          </table>
          <h1
            data-id="react-email-heading"
            style="
              margin-left: 0px;
              margin-right: 0px;
              margin-top: 30px;
              margin-bottom: 30px;
              padding: 0px;
              text-align: center;
              font-size: 24px;
              font-weight: 700;
              color: rgb(0, 0, 0);
            "
          >
            [[${subscriber.displayName}]] 你好:
          </h1>
          <p
            class="normal-font"
            style="
              margin: 0 auto;
              overflow-wrap: break-word;
              word-break: break-word;
              text-align: left;
              width: 100%;
              font-family: HarmonyOS Sans, SF Pro Text, SF Pro Icons, robot, Helvetica Neue, Helvetica, Arial,
                sans-serif;
              font-size: 14px;
              font-weight: 400;
              line-height: 150%;
              color: #000000;
            "
          >
            <span
              class="bold-font"
              style="
                font-style: inherit;
                font-family: inherit;
                font-size: inherit;
                line-height: inherit;
                text-indent: inherit;
                letter-spacing: inherit;
                color: inherit;
                font-weight: 600;
              "
              >您的友链[(${type == 'update' ? '修改' : '提交'})]申请[(${through ? '已通过' : '已拒绝'})]</span
            >
          </p>
     <h4 style="margin: 16px 0 15px 0; color: #334155; font-size: 16px; font-weight: 600; display: flex; align-items: center;">
                    <svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="#64748b" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="margin-right: 8px;">
                        <circle cx="12" cy="12" r="10"></circle>
                        <line x1="12" y1="16" x2="12" y2="12"></line>
                        <line x1="12" y1="8" x2="12.01" y2="8"></line>
                    </svg>
                    审核描述
                </h4>
                
                <div style="background-color: #f8fafc; border-radius: 14px; padding: 20px; border: 1px solid #e2e8f0; margin-bottom: 20px;">
                    <p style="margin: 0 0 15px 0; color: #4b5563; line-height: 1.7; font-size: 15px;">
                        [[${reviewDescription}]]
                    </p>
                    
                </div>
                
          <table
            align="center"
            width="100%"
            data-id="react-email-section"
            border="0"
            cellpadding="0"
            cellspacing="0"
            role="presentation"
            style="margin-bottom: 32px; margin-top: 32px; text-align: center"
          >
            <tbody>
              <tr>
                <td>
                  <a
                    target="_blank"
                    style="
                      line-height: 100%;
                      text-decoration: none;
                      display: inline-block;
                      max-width: 100%;
                      padding: 12px 20px;
                      border-radius: 0.75rem;
                background: linear-gradient(to right, #3b82f6, #60a5fa);
                      text-align: center;
                      font-size: 12px;
                      font-weight: 600;
                      color: rgb(255, 255, 255);
                      text-decoration-line: none;
                    "
                    th:href="${site.url}"
                    target="_blank"
                    rel="noopener noreferrer"
                    ><span></span
                    ><span
                      style="
                        max-width: 100%;
                        display: inline-block;
                        line-height: 120%;
                        mso-padding-alt: 0px;
                        mso-text-raise: 9px;
                      "
                      >前往站点</span
                    ><span></span
                  ></a>
                </td>
              </tr>
            </tbody>
          </table>
  </div>
  
  <table
    align="center"
    width="100%"
    data-id="__react-email-container"
    role="presentation"
    cellspacing="0"
    cellpadding="0"
    border="0"
    style="max-width: 600px; width: 100%; margin: 0 auto; margin-top: 32px"
  >
    <tbody>
      <tr style="width: 100%">
        <td>
          <table id="footer-paragraphs" border="0" cellpadding="0" cellspacing="0" style="width: 100%">
            <tbody>
              <tr>
                <td id="footer-hr-cell"><div class="footer-hr_LWA2_3" style="height: 1px" height="1"></div></td>
              </tr>
              <tr>
                <td id="footer-gradient-img-cell" style="width: 100%">
                  <img
                    id="footer-gradient"
                    src="https://statici.icloud.com/emailimages/v4/common/footer_gradient_web.png"
                    style="display: block; width: 100%"
                    height="16"
                    title=""
                  />
                </td>
              </tr>
              <tr>
                <td
                  id="footer-links"
                  style="
                    padding: 0;
                    text-align: center;
                    font: 11px/15px Geneva, Verdana, Arial, Helvetica, sans-serif;
                    color: #888;
                  "
                >
                  <span
                    class="text_6"
                    style="
                      height: 17px;
                      font-size: 12px;
                      font-family: PingFangSC-Regular, PingFang SC;
                      font-weight: 400;
                      color: #00000045;
                      line-height: 17px;
                    "
                    >此邮件由评论服务自动发出,直接回复无效。</span
                  >
                </td>
              </tr>
              <tr>
                <td
                  id="copyright-cell"
                  style="
                    padding: 0;
                    margin-bottom: 0;
                    text-align: center;
                    font: 11px/15px Geneva, Verdana, Arial, Helvetica, sans-serif;
                    color: #888;
                  "
                >
                  <a
                    class="text_7"
                    style="
                      height: 17px;
                      font-size: 12px;
                      font-family: PingFangSC-Regular, PingFang SC;
                      font-weight: 400;
                      color: #db214b;
                      line-height: 17px;
                      margin-top: 6px;
                      display: block;
                      text-decoration: none;
                    "
                    th:href="${site.url}"
                    >前往博客</a
                  >
                </td>
              </tr>
            </tbody>
          </table>
        </td>
      </tr>
    </tbody>
  </table>
</div>

友链自助提交通知管理员

<style>
  .footer {
    display: none !important;
  }
</style>
<div
  style="
    margin-left: auto;
    margin-right: auto;
    margin-top: auto;
    margin-bottom: 16px;
    background-color: #fff;
    padding-top: 32px;
    padding-bottom: 32px;
    font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial,
      Noto Sans, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji;
  "
>
  <div
    style="
      max-width: 465px;
      margin-left: auto;
      margin-right: auto;
      margin-top: 0;
      margin-bottom: 40px;
      border-radius: 1rem;
      border-width: 1px;
      border-style: solid;
      border-color: rgb(244, 244, 245);
      background: linear-gradient(to bottom right, #ffffff, #fafbfc);
      padding-left: 24px;
      padding-right: 24px;
      padding-top: 20px;
      padding-bottom: 20px;
      border-collapse: initial;
    "
  >
    <table
      align="center"
      width="100%"
      data-id="react-email-section"
      border="0"
      cellpadding="0"
      cellspacing="0"
      role="presentation"
      style="margin-top: 24px"
    >
      <tbody>
        <tr>
          <td>
            <img
              data-id="react-email-img"
              alt="Cali"
              src="https://cali.so/subscription-email-header.jpg"
              width="250"
              height="129.28"
              style="
                display: block;
                outline: none;
                border: none;
                text-decoration: none;
                margin-left: auto;
                margin-right: auto;
                margin-top: 0px;
                margin-bottom: 0px;
              "
            />
          </td>
        </tr>
      </tbody>
    </table>
    <h1
      data-id="react-email-heading"
      style="
        margin-left: 0px;
        margin-right: 0px;
        margin-top: 30px;
        margin-bottom: 30px;
        padding: 0px;
        text-align: center;
        font-size: 24px;
        font-weight: 700;
        color: rgb(0, 0, 0);
      "
    >
      [[${subscriber.displayName}]] 你好:
    </h1>
    <p
      class="normal-font"
      style="
        margin: 0 auto;
        overflow-wrap: break-word;
        word-break: break-word;
        text-align: left;
        width: 100%;
        font-family: HarmonyOS Sans, SF Pro Text, SF Pro Icons, robot, Helvetica Neue, Helvetica, Arial, sans-serif;
        font-size: 14px;
        font-weight: 400;
        line-height: 150%;
        color: #000000;
      "
    >
      <span
        class="bold-font"
        style="
          font-style: inherit;
          font-family: inherit;
          font-size: inherit;
          line-height: inherit;
          text-indent: inherit;
          letter-spacing: inherit;
          color: inherit;
          font-weight: 600;
        "
        >有新的友链[(${type == 'update' ? '修改' : '提交'})]申请,[(${review ? '已自动审核' : '请审核'})]!</span
      >
    </p>

    <!-- 详情卡片 -->
    <div
      style="
        background-color: #ffffff;
        border-radius: 16px;
        border: 1px solid #e5e7eb;
        overflow: hidden;
        margin: 30px 0;
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.03);
      "
    >
      <div
        style="
          background-color: #f8fafc;
          padding: 16px 20px;
          border-bottom: 1px solid #e5e7eb;
          display: flex;
          align-items: center;
        "
      >
        <svg
          xmlns="http://www.w3.org/2000/svg"
          width="18"
          height="18"
          viewBox="0 0 24 24"
          fill="none"
          stroke="#64748b"
          stroke-width="2"
          stroke-linecap="round"
          stroke-linejoin="round"
          style="margin-right: 10px"
        >
          <circle cx="12" cy="12" r="10"></circle>
          <line x1="12" y1="8" x2="12" y2="12"></line>
          <line x1="12" y1="16" x2="12.01" y2="16"></line>
        </svg>
        <h3 style="margin: 0; color: #334155; font-size: 16px; font-weight: 600">博客详情</h3>
      </div>

      <div style="padding: 20px">
        <!-- 失败信息列表 -->
        <div style="background-color: #f9fafb; border-radius: 12px; overflow: hidden; margin-bottom: 15px">
          <div style="display: flex; padding: 14px 16px; border-bottom: 1px solid #f1f5f9">
            <div style="flex: 1; display: flex; align-items: center; justify-content: space-between">
              <p style="margin: 0 0 2px 0; font-size: 13px; color: #64748b">博客名称</p>
              <p style="margin: 0; font-size: 15px; font-weight: 500; color: #334155" th:text="${syncName}">
                [[${displayName}]]
              </p>
            </div>
          </div>

          <div style="display: flex; padding: 14px 16px; border-bottom: 1px solid #f1f5f9">
            <div style="flex: 1; display: flex; align-items: center; justify-content: space-between">
              <p style="margin: 0 0 2px 0; font-size: 13px; color: #64748b">博客链接</p>
              <p style="margin: 0; font-size: 15px; font-weight: 500; color: #334155" th:text="${startTimestamp}">
                [[${url}]]
              </p>
            </div>
          </div>

          <div style="display: flex; padding: 14px 16px">
            <div style="flex: 1; display: flex; align-items: center; justify-content: space-between">
              <p style="margin: 0 0 2px 0; font-size: 13px; color: #64748b">博客描述</p>
              <p style="margin: 0; font-size: 15px; font-weight: 500; color: #334155" th:text="${failureMessage}">
                [[${description}]]
              </p>
            </div>
          </div>
          <div style="display: flex; padding: 14px 16px">
            <div style="flex: 1; display: flex; align-items: center; justify-content: space-between">
              <p style="margin: 0 0 2px 0; font-size: 13px; color: #64748b">Email</p>
              <p style="margin: 0; font-size: 15px; font-weight: 500; color: #334155" th:text="${failureMessage}">
                [[${email}]]
              </p>
            </div>
          </div>
          <div style="display: flex; padding: 14px 16px">
            <div style="flex: 1; display: flex; align-items: center; justify-content: space-between">
              <p style="margin: 0 0 2px 0; font-size: 13px; color: #64748b">Logo</p>
              <p style="margin: 0; font-size: 15px; font-weight: 500; color: #334155" th:text="${failureMessage}">
                [[${logo}]]
              </p>
            </div>
          </div>
        </div>
      </div>
    </div>

    <table
      align="center"
      width="100%"
      data-id="react-email-section"
      border="0"
      cellpadding="0"
      cellspacing="0"
      role="presentation"
      style="margin-bottom: 32px; margin-top: 32px; text-align: center"
    >
      <tbody>
        <tr>
          <td>
            <a
              target="_blank"
              style="
                line-height: 100%;
                text-decoration: none;
                display: inline-block;
                max-width: 100%;
                padding: 12px 20px;
                border-radius: 0.75rem;
                background: linear-gradient(to right, #3b82f6, #60a5fa);
                text-align: center;
                font-size: 12px;
                font-weight: 600;
                color: rgb(255, 255, 255);
                text-decoration-line: none;
              "
              th:href="${reviewUrl}"
              target="_blank"
              rel="noopener noreferrer"
              ><span></span
              ><span
                style="
                  max-width: 100%;
                  display: inline-block;
                  line-height: 120%;
                  mso-padding-alt: 0px;
                  mso-text-raise: 9px;
                "
                >前往审核</span
              ><span></span
            ></a>
          </td>
        </tr>
      </tbody>
    </table>
  </div>

  <table
    align="center"
    width="100%"
    data-id="__react-email-container"
    role="presentation"
    cellspacing="0"
    cellpadding="0"
    border="0"
    style="max-width: 600px; width: 100%; margin: 0 auto; margin-top: 32px"
  >
    <tbody>
      <tr style="width: 100%">
        <td>
          <table id="footer-paragraphs" border="0" cellpadding="0" cellspacing="0" style="width: 100%">
            <tbody>
              <tr>
                <td id="footer-hr-cell"><div class="footer-hr_LWA2_3" style="height: 1px" height="1"></div></td>
              </tr>
              <tr>
                <td id="footer-gradient-img-cell" style="width: 100%">
                  <img
                    id="footer-gradient"
                    src="https://statici.icloud.com/emailimages/v4/common/footer_gradient_web.png"
                    style="display: block; width: 100%"
                    height="16"
                    title=""
                  />
                </td>
              </tr>
              <tr>
                <td
                  id="footer-links"
                  style="
                    padding: 0;
                    text-align: center;
                    font: 11px/15px Geneva, Verdana, Arial, Helvetica, sans-serif;
                    color: #888;
                  "
                >
                  <span
                    class="text_6"
                    style="
                      height: 17px;
                      font-size: 12px;
                      font-family: PingFangSC-Regular, PingFang SC;
                      font-weight: 400;
                      color: #00000045;
                      line-height: 17px;
                    "
                    >此邮件由评论服务自动发出,直接回复无效。</span
                  >
                </td>
              </tr>
              <tr>
                <td
                  id="copyright-cell"
                  style="
                    padding: 0;
                    margin-bottom: 0;
                    text-align: center;
                    font: 11px/15px Geneva, Verdana, Arial, Helvetica, sans-serif;
                    color: #888;
                  "
                >
                  <a
                    class="text_7"
                    style="
                      height: 17px;
                      font-size: 12px;
                      font-family: PingFangSC-Regular, PingFang SC;
                      font-weight: 400;
                      color: #db214b;
                      line-height: 17px;
                      margin-top: 6px;
                      display: block;
                      text-decoration: none;
                    "
                    th:href="${site.url}"
                    >前往博客</a
                  >
                </td>
              </tr>
            </tbody>
          </table>
        </td>
      </tr>
    </tbody>
  </table>
</div>

友链自助提交成功通知

<style>
  .footer {
    display: none !important;
  }
</style>
<div
  style="
    margin-left: auto;
    margin-right: auto;
    margin-top: auto;
    margin-bottom: 16px;
    background-color: #fff;
    padding-top: 32px;
    padding-bottom: 32px;
    font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial,
      Noto Sans, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji;
  "
>
  <div
    style="
      max-width: 465px;
      margin-left: auto;
      margin-right: auto;
      margin-top: 0;
      margin-bottom: 40px;
      border-radius: 1rem;
      border-width: 1px;
      border-style: solid;
      border-color: rgb(244, 244, 245);
      background: linear-gradient(to bottom right, #ffffff, #fafbfc);
      padding-left: 24px;
      padding-right: 24px;
      padding-top: 20px;
      padding-bottom: 20px;
      border-collapse: initial;
    "
  >
          <table
            align="center"
            width="100%"
            data-id="react-email-section"
            border="0"
            cellpadding="0"
            cellspacing="0"
            role="presentation"
            style="margin-top: 24px"
          >
            <tbody>
              <tr>
                <td>
                  <img
                    data-id="react-email-img"
                    alt="Cali"
                    src="https://cali.so/subscription-email-header.jpg"
                    width="250"
                    height="129.28"
                    style="
                      display: block;
                      outline: none;
                      border: none;
                      text-decoration: none;
                      margin-left: auto;
                      margin-right: auto;
                      margin-top: 0px;
                      margin-bottom: 0px;
                    "
                  />
                </td>
              </tr>
            </tbody>
          </table>
          <h1
            data-id="react-email-heading"
            style="
              margin-left: 0px;
              margin-right: 0px;
              margin-top: 30px;
              margin-bottom: 30px;
              padding: 0px;
              text-align: center;
              font-size: 24px;
              font-weight: 700;
              color: rgb(0, 0, 0);
            "
          >
            [[${subscriber.displayName}]] 你好:
          </h1>
          <p
            class="normal-font"
            style="
              margin: 0 auto;
              overflow-wrap: break-word;
              word-break: break-word;
              text-align: left;
              width: 100%;
              font-family: HarmonyOS Sans, SF Pro Text, SF Pro Icons, robot, Helvetica Neue, Helvetica, Arial,
                sans-serif;
              font-size: 14px;
              font-weight: 400;
              line-height: 150%;
              color: #000000;
            "
          >
            <span
              class="bold-font"
              style="
                font-style: inherit;
                font-family: inherit;
                font-size: inherit;
                line-height: inherit;
                text-indent: inherit;
                letter-spacing: inherit;
                color: inherit;
                font-weight: 600;
              "
              >您的友链[(${type == 'update' ? '修改' : '提交'})]已申请,请耐心等待审核。</span
            >
          </p>
          <table
            align="center"
            width="100%"
            data-id="react-email-section"
            border="0"
            cellpadding="0"
            cellspacing="0"
            role="presentation"
            style="margin-bottom: 32px; margin-top: 32px; text-align: center"
          >
            <tbody>
              <tr>
                <td>
                  <a
                    target="_blank"
                    style="
                      line-height: 100%;
                      text-decoration: none;
                      display: inline-block;
                      max-width: 100%;
                      padding: 12px 20px;
                      border-radius: 0.75rem;
                background: linear-gradient(to right, #3b82f6, #60a5fa);
                      text-align: center;
                      font-size: 12px;
                      font-weight: 600;
                      color: rgb(255, 255, 255);
                      text-decoration-line: none;
                    "
                    th:href="${site.url}"
                    target="_blank"
                    rel="noopener noreferrer"
                    ><span></span
                    ><span
                      style="
                        max-width: 100%;
                        display: inline-block;
                        line-height: 120%;
                        mso-padding-alt: 0px;
                        mso-text-raise: 9px;
                      "
                      >前往站点</span
                    ><span></span
                  ></a>
                </td>
              </tr>
            </tbody>
          </table>
  </div>
  
  <table
    align="center"
    width="100%"
    data-id="__react-email-container"
    role="presentation"
    cellspacing="0"
    cellpadding="0"
    border="0"
    style="max-width: 600px; width: 100%; margin: 0 auto; margin-top: 32px"
  >
    <tbody>
      <tr style="width: 100%">
        <td>
          <table id="footer-paragraphs" border="0" cellpadding="0" cellspacing="0" style="width: 100%">
            <tbody>
              <tr>
                <td id="footer-hr-cell"><div class="footer-hr_LWA2_3" style="height: 1px" height="1"></div></td>
              </tr>
              <tr>
                <td id="footer-gradient-img-cell" style="width: 100%">
                  <img
                    id="footer-gradient"
                    src="https://statici.icloud.com/emailimages/v4/common/footer_gradient_web.png"
                    style="display: block; width: 100%"
                    height="16"
                    title=""
                  />
                </td>
              </tr>
              <tr>
                <td
                  id="footer-links"
                  style="
                    padding: 0;
                    text-align: center;
                    font: 11px/15px Geneva, Verdana, Arial, Helvetica, sans-serif;
                    color: #888;
                  "
                >
                  <span
                    class="text_6"
                    style="
                      height: 17px;
                      font-size: 12px;
                      font-family: PingFangSC-Regular, PingFang SC;
                      font-weight: 400;
                      color: #00000045;
                      line-height: 17px;
                    "
                    >此邮件由评论服务自动发出,直接回复无效。</span
                  >
                </td>
              </tr>
              <tr>
                <td
                  id="copyright-cell"
                  style="
                    padding: 0;
                    margin-bottom: 0;
                    text-align: center;
                    font: 11px/15px Geneva, Verdana, Arial, Helvetica, sans-serif;
                    color: #888;
                  "
                >
                  <a
                    class="text_7"
                    style="
                      height: 17px;
                      font-size: 12px;
                      font-family: PingFangSC-Regular, PingFang SC;
                      font-weight: 400;
                      color: #db214b;
                      line-height: 17px;
                      margin-top: 6px;
                      display: block;
                      text-decoration: none;
                    "
                    th:href="${site.url}"
                    >前往博客</a
                  >
                </td>
              </tr>
            </tbody>
          </table>
        </td>
      </tr>
    </tbody>
  </table>
</div>

根据邮件地址重置密码

<style>
  .footer {
    display: none !important;
  }
</style>
<div
  style="
    margin-left: auto;
    margin-right: auto;
    margin-top: auto;
    margin-bottom: 16px;
    background-color: #fff;
    padding-top: 32px;
    padding-bottom: 32px;
    font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial,
      Noto Sans, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji;
  "
>
  <div
    style="
      max-width: 465px;
      margin-left: auto;
      margin-right: auto;
      margin-top: 0;
      margin-bottom: 40px;
      border-radius: 1rem;
      border-width: 1px;
      border-style: solid;
      border-color: rgb(244, 244, 245);
      background: linear-gradient(to bottom right, #ffffff, #fafbfc);
      padding-left: 24px;
      padding-right: 24px;
      padding-top: 20px;
      padding-bottom: 20px;
      border-collapse: initial;
    "
  >
          <table
            align="center"
            width="100%"
            data-id="react-email-section"
            border="0"
            cellpadding="0"
            cellspacing="0"
            role="presentation"
            style="margin-top: 24px"
          >
            <tbody>
              <tr>
                <td>
                  <img
                    data-id="react-email-img"
                    alt="Cali"
                    src="https://cali.so/subscription-email-header.jpg"
                    width="250"
                    height="129.28"
                    style="
                      display: block;
                      outline: none;
                      border: none;
                      text-decoration: none;
                      margin-left: auto;
                      margin-right: auto;
                      margin-top: 0px;
                      margin-bottom: 0px;
                    "
                  />
                </td>
              </tr>
            </tbody>
          </table>
          <h1
            data-id="react-email-heading"
            style="
              margin-left: 0px;
              margin-right: 0px;
              margin-top: 30px;
              margin-bottom: 30px;
              padding: 0px;
              text-align: center;
              font-size: 24px;
              font-weight: 700;
              color: rgb(0, 0, 0);
            "
          >
            重置密码-[(${site.title})]
          </h1>
          <p style="color: #4b5563; margin-bottom: 24px; line-height: 1.7; font-size: 16px;">
                你已经请求了重置密码,可以点击下面的链接来重置密码:
            </p>
            
            <!-- 重置链接卡片 -->
            <div style="background-color: #f8fafc; border: 1px solid #e2e8f0; border-radius: 14px; padding: 20px; margin: 25px 0; transition: all 0.3s ease;" onmouseover="this.style.backgroundColor='#f1f5f9';this.style.boxShadow='0 4px 12px rgba(0, 0, 0, 0.05)';" onmouseout="this.style.backgroundColor='#f8fafc';this.style.boxShadow='none';">
                <div style="display: flex; align-items: center; margin-bottom: 12px;">
                    <svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="#0ea5e9" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="margin-right: 10px;">
                        <path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path>
                        <path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path>
                    </svg>
                    <p style="margin: 0; font-size: 14px; color: #64748b; font-weight: 500;">密码重置链接</p>
                </div>
                <div class="reset-link" style="line-height:24px; background-color: #ffffff; padding: 12px; border-radius: 10px; border: 1px dashed #cbd5e1; word-break: break-all; font-family: monospace; font-size: 14px; color: #0c4a6e;">
                    <span th:text="${link}"></span>
                </div>
                <div style="display: flex; justify-content: space-between; align-items: center; margin-top: 12px;">
                    <div style="display: flex; align-items: center;">
                        <svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="#64748b" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="margin-right: 6px;">
                            <rect x="3" y="4" width="18" height="18" rx="2" ry="2"></rect>
                            <line x1="16" y1="2" x2="16" y2="6"></line>
                            <line x1="8" y1="2" x2="8" y2="6"></line>
                            <line x1="3" y1="10" x2="21" y2="10"></line>
                        </svg>
                        <span style="font-size: 13px; color: #64748b;" th:text="|有效期: ${expirationAtMinutes} 分钟|"></span>
                    </div>
                </div>
            </div>
            
            <!-- 快速操作按钮 -->
            <a href="#" th:href="${link}" style="display: block; text-align: center; background: linear-gradient(to right, #0284c7, #0ea5e9); color: white; padding: 16px 20px; border-radius: 14px; font-weight: 600; text-decoration: none; transition: all 0.3s ease; box-shadow: 0 6px 12px -2px rgba(14, 165, 233, 0.25); margin: 30px 0;" onmouseover="this.style.transform='translateY(-3px)';this.style.boxShadow='0 8px 16px -2px rgba(14, 165, 233, 0.35)';" onmouseout="this.style.transform='translateY(0)';this.style.boxShadow='0 6px 12px -2px rgba(14, 165, 233, 0.25)';">
                <svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="margin-right: 8px; display: inline-block; vertical-align: -3px;">
                    <rect x="3" y="11" width="18" height="11" rx="2" ry="2"></rect>
                    <path d="M7 11V7a5 5 0 0 1 10 0v4"></path>
                </svg>
                立即重置密码
            </a>
            
            <p style="color: #4b5563; margin-bottom: 10px; line-height: 1.7; font-size: 16px;" th:text="|链接有效期为 ${expirationAtMinutes} 分钟,请尽快完成重置。|">
            </p>
            
            <p style="color: #4b5563; line-height: 1.7; font-size: 16px;">
                如果您没有请求重置密码,请忽略此电子邮件,并考虑检查您的账户安全。
            </p>
            
  </div>
  
  <table
    align="center"
    width="100%"
    data-id="__react-email-container"
    role="presentation"
    cellspacing="0"
    cellpadding="0"
    border="0"
    style="max-width: 600px; width: 100%; margin: 0 auto; margin-top: 32px"
  >
    <tbody>
      <tr style="width: 100%">
        <td>
          <table id="footer-paragraphs" border="0" cellpadding="0" cellspacing="0" style="width: 100%">
            <tbody>
              <tr>
                <td id="footer-hr-cell"><div class="footer-hr_LWA2_3" style="height: 1px" height="1"></div></td>
              </tr>
              <tr>
                <td id="footer-gradient-img-cell" style="width: 100%">
                  <img
                    id="footer-gradient"
                    src="https://statici.icloud.com/emailimages/v4/common/footer_gradient_web.png"
                    style="display: block; width: 100%"
                    height="16"
                    title=""
                  />
                </td>
              </tr>
              <tr>
                <td
                  id="footer-links"
                  style="
                    padding: 0;
                    text-align: center;
                    font: 11px/15px Geneva, Verdana, Arial, Helvetica, sans-serif;
                    color: #888;
                  "
                >
                  <span
                    class="text_6"
                    style="
                      height: 17px;
                      font-size: 12px;
                      font-family: PingFangSC-Regular, PingFang SC;
                      font-weight: 400;
                      color: #00000045;
                      line-height: 17px;
                    "
                    >此邮件由评论服务自动发出,直接回复无效。</span
                  >
                </td>
              </tr>
              <tr>
                <td
                  id="copyright-cell"
                  style="
                    padding: 0;
                    margin-bottom: 0;
                    text-align: center;
                    font: 11px/15px Geneva, Verdana, Arial, Helvetica, sans-serif;
                    color: #888;
                  "
                >
                  <a
                    class="text_7"
                    style="
                      height: 17px;
                      font-size: 12px;
                      font-family: PingFangSC-Regular, PingFang SC;
                      font-weight: 400;
                      color: #db214b;
                      line-height: 17px;
                      margin-top: 6px;
                      display: block;
                      text-decoration: none;
                    "
                    th:href="${site.url}"
                    >前往博客</a
                  >
                </td>
              </tr>
            </tbody>
          </table>
        </td>
      </tr>
    </tbody>
  </table>
</div>

我的文章收到新评论

<style>
  .footer {
    display: none !important;
  }
</style>
<div
  style="
    margin-left: auto;
    margin-right: auto;
    margin-top: auto;
    margin-bottom: 16px;
    background-color: #fff;
    padding-top: 32px;
    padding-bottom: 32px;
    font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial,
      Noto Sans, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji;
  "
>
  <div
    style="
      max-width: 465px;
      margin-left: auto;
      margin-right: auto;
      margin-top: 0;
      margin-bottom: 40px;
      border-radius: 1rem;
      border-width: 1px;
      border-style: solid;
      border-color: rgb(244, 244, 245);
      background: linear-gradient(to bottom right, #ffffff, #fafbfc);
      padding-left: 24px;
      padding-right: 24px;
      padding-top: 20px;
      padding-bottom: 20px;
      border-collapse: initial;
    "
  >
    <table
      align="center"
      width="100%"
      data-id="react-email-section"
      border="0"
      cellpadding="0"
      cellspacing="0"
      role="presentation"
      style="margin-top: 24px"
    >
      <tbody>
        <tr>
          <td>
            <img
              data-id="react-email-img"
              alt="Cali"
              src="https://cali.so/subscription-email-header.jpg"
              width="250"
              height="129.28"
              style="
                display: block;
                outline: none;
                border: none;
                text-decoration: none;
                margin-left: auto;
                margin-right: auto;
                margin-top: 0px;
                margin-bottom: 0px;
              "
            />
          </td>
        </tr>
      </tbody>
    </table>
    <h1
      data-id="react-email-heading"
      style="
        margin-left: 0px;
        margin-right: 0px;
        margin-top: 30px;
        margin-bottom: 30px;
        padding: 0px;
        text-align: center;
        font-size: 24px;
        font-weight: 700;
        color: rgb(0, 0, 0);
      "
    >
      收到了新的评论
    </h1>
    <p style="color: #4b5563; line-height: 1.7; font-size: 17px; margin: 0 0 30px 0; font-weight: 400">
      您的文章收到了新的评论,以下是详细信息:
    </p>

    <!-- 文章信息卡片 -->
    <div
      style="
        background-color: #f9fafb;
        border: 1px solid #e5e7eb;
        border-radius: 16px;
        padding: 20px;
        margin-bottom: 30px;
        transition: transform 0.2s ease, box-shadow 0.2s ease;
        position: relative;
        overflow: hidden;
      "
    >
      <!-- 背景装饰 -->
      <div
        style="
          position: absolute;
          top: -30px;
          right: -30px;
          width: 100px;
          height: 100px;
          border-radius: 50%;
          background: linear-gradient(135deg, #e0e7ff, #c7d2fe);
          opacity: 0.3;
        "
      ></div>

      <div style="position: relative; display: flex; align-items: center">
        <div
          style="
            width: 48px;
            height: 48px;
            border-radius: 12px;
            background: linear-gradient(135deg, #4338ca, #6366f1);
            display: flex;
            align-items: center;
            justify-content: center;
            margin-right: 16px;
            flex-shrink: 0;
            box-shadow: 0 4px 10px rgba(99, 102, 241, 0.2);
          "
        >
          <svg
            xmlns="http://www.w3.org/2000/svg"
            width="24"
            height="24"
            viewBox="0 0 24 24"
            fill="none"
            stroke="white"
            stroke-width="2"
            stroke-linecap="round"
            stroke-linejoin="round"
          >
            <path d="M19 21l-7-5-7 5V5a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2z"></path>
          </svg>
        </div>
        <div style="overflow: hidden; flex: 1">
          <p style="margin: 0 0 5px 0; font-size: 14px; color: #6b7280; font-weight: 500">您的文章</p>
          <a
            th:href="${postUrl}"
            target="_blank"
            th:text="|《${postTitle}》|"
            style="
              color: #4338ca;
              text-decoration: none;
              font-weight: 600;
              font-size: 17px;
              white-space: nowrap;
              overflow: hidden;
              text-overflow: ellipsis;
              display: block;
              margin: 0;
            "
          ></a>
        </div>
        <div style="margin-left: 15px; flex-shrink: 0">
          <div
            style="
              display: flex;
              align-items: center;
              background-color: #eef2ff;
              padding: 6px 12px;
              border-radius: 20px;
            "
          >
            <svg
              xmlns="http://www.w3.org/2000/svg"
              width="14"
              height="14"
              viewBox="0 0 24 24"
              fill="none"
              stroke="#4338ca"
              stroke-width="2"
              stroke-linecap="round"
              stroke-linejoin="round"
              style="margin-right: 5px"
            >
              <path d="M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z"></path>
            </svg>
            <span style="color: #4338ca; font-size: 13px; font-weight: 600">新评论</span>
          </div>
        </div>
      </div>
    </div>

    <!-- 评论内容区域 -->
    <div style="margin-bottom: 35px">
      <!-- 评论者信息 -->
      <div style="display: flex; align-items: center; margin-bottom: 16px">
        <div
          style="
            width: 44px;
            height: 44px;
            border-radius: 50%;
            background-color: #f3f4f6;
            overflow: hidden;
            margin-right: 14px;
            display: flex;
            align-items: center;
            justify-content: center;
            border: 2px solid #e5e7eb;
          "
        >
          <svg
            xmlns="http://www.w3.org/2000/svg"
            width="22"
            height="22"
            viewBox="0 0 24 24"
            fill="none"
            stroke="#6b7280"
            stroke-width="2"
            stroke-linecap="round"
            stroke-linejoin="round"
          >
            <path d="M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2"></path>
            <circle cx="12" cy="7" r="4"></circle>
          </svg>
        </div>
        <div>
          <p style="margin: 0 0 2px 0; font-weight: 600; color: #1f2937; font-size: 16px" th:text="${commenter}">
            评论用户名
          </p>
          <p style="margin: 0; color: #6b7280; font-size: 14px">刚刚发表评论</p>
        </div>
      </div>

      <!-- 评论内容卡片 -->
      <div
        style="
          background-color: #ffffff;
          padding: 25px 30px;
          border-radius: 16px;
          border: 1px solid #e5e7eb;
          box-shadow: 0 5px 15px rgba(0, 0, 0, 0.04);
          position: relative;
          margin-left: 22px;
          margin-bottom: 10px;
        "
      >
        <!-- 连接线 -->
        <div
          style="
            position: absolute;
            left: -22px;
            top: 0px;
            width: 22px;
            height: 30px;
            border-bottom: 2px solid #e5e7eb;
            border-left: 2px solid #e5e7eb;
            border-bottom-left-radius: 12px;
          "
        ></div>

        <!-- 引用标记 -->
        <div
          style="
            position: absolute;
            top: -10px;
            left: 30px;
            width: 24px;
            height: 24px;
            background-color: #6366f1;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            box-shadow: 0 2px 5px rgba(99, 102, 241, 0.2);
          "
        >
          <svg
            xmlns="http://www.w3.org/2000/svg"
            width="12"
            height="12"
            viewBox="0 0 24 24"
            fill="none"
            stroke="white"
            stroke-width="2"
            stroke-linecap="round"
            stroke-linejoin="round"
          >
            <path d="M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z"></path>
          </svg>
        </div>

        <pre
          class="content"
          th:text="${content}"
          style="
            font-family: inherit;
            white-space: pre-wrap;
            word-wrap: break-word;
            color: #374151;
            font-size: 16px;
            line-height: 1.8;
            margin: 0;
            padding: 0;
          "
        ></pre>
      </div>

      <!-- 评论时间和标签 -->
      <div style="display: flex; align-items: center; margin-left: 22px; margin-bottom: 10px">
        <div
          style="
            display: flex;
            align-items: center;
            background-color: #f3f4f6;
            padding: 6px 12px;
            border-radius: 20px;
            margin-right: 10px;
          "
        >
          <svg
            xmlns="http://www.w3.org/2000/svg"
            width="14"
            height="14"
            viewBox="0 0 24 24"
            fill="none"
            stroke="#6b7280"
            stroke-width="2"
            stroke-linecap="round"
            stroke-linejoin="round"
            style="margin-right: 5px"
          >
            <circle cx="12" cy="12" r="10"></circle>
            <polyline points="12 6 12 12 16 14"></polyline>
          </svg>
          <span style="color: #6b7280; font-size: 13px">刚刚</span>
        </div>

        <div
          style="display: flex; align-items: center; background-color: #f3f4f6; padding: 6px 12px; border-radius: 20px"
        >
          <svg
            xmlns="http://www.w3.org/2000/svg"
            width="14"
            height="14"
            viewBox="0 0 24 24"
            fill="none"
            stroke="#6b7280"
            stroke-width="2"
            stroke-linecap="round"
            stroke-linejoin="round"
            style="margin-right: 5px"
          >
            <circle cx="12" cy="12" r="10"></circle>
            <path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path>
            <line x1="12" y1="17" x2="12.01" y2="17"></line>
          </svg>
          <span style="color: #6b7280; font-size: 13px">待回复</span>
        </div>
      </div>
    </div>
    <!-- 操作按钮 -->
    <div style="display: flex; gap: 16px; margin-bottom: 35px">
      <a
        th:href="${postUrl}"
        target="_blank"
        style="
          flex: 1;
          display: inline-flex;
          align-items: center;
          justify-content: center;
          background: linear-gradient(to right, #4338ca, #6366f1);
          color: white;
          padding: 16px;
          border-radius: 14px;
          font-weight: 600;
          text-decoration: none;
          transition: all 0.3s ease;
          box-shadow: 0 4px 12px rgba(99, 102, 241, 0.2);
        "
        onmouseover="this.style.transform='translateY(-3px)';this.style.boxShadow='0 6px 16px rgba(99, 102, 241, 0.3)';"
        onmouseout="this.style.transform='translateY(0)';this.style.boxShadow='0 4px 12px rgba(99, 102, 241, 0.2)';"
      >
        <svg
          xmlns="http://www.w3.org/2000/svg"
          width="18"
          height="18"
          viewBox="0 0 24 24"
          fill="none"
          stroke="currentColor"
          stroke-width="2"
          stroke-linecap="round"
          stroke-linejoin="round"
          style="margin-right: 10px"
        >
          <path
            d="M21 11.5a8.38 8.38 0 0 1-.9 3.8 8.5 8.5 0 0 1-7.6 4.7 8.38 8.38 0 0 1-3.8-.9L3 21l1.9-5.7a8.38 8.38 0 0 1-.9-3.8 8.5 8.5 0 0 1 4.7-7.6 8.38 8.38 0 0 1 3.8-.9h.5a8.48 8.48 0 0 1 8 8v.5z"
          ></path>
        </svg>
        回复评论
      </a>
      <a
        th:href="${postUrl}"
        target="_blank"
        style="
          flex: 1;
          display: inline-flex;
          align-items: center;
          justify-content: center;
          background-color: #f9fafb;
          color: #4b5563;
          padding: 16px;
          border-radius: 14px;
          font-weight: 600;
          text-decoration: none;
          border: 1px solid #e5e7eb;
          transition: all 0.3s ease;
        "
        onmouseover="this.style.backgroundColor='#f3f4f6';this.style.transform='translateY(-3px)';this.style.boxShadow='0 4px 12px rgba(0, 0, 0, 0.08)';"
        onmouseout="this.style.backgroundColor='#f9fafb';this.style.transform='translateY(0)';this.style.boxShadow='none';"
      >
        <svg
          xmlns="http://www.w3.org/2000/svg"
          width="18"
          height="18"
          viewBox="0 0 24 24"
          fill="none"
          stroke="currentColor"
          stroke-width="2"
          stroke-linecap="round"
          stroke-linejoin="round"
          style="margin-right: 10px"
        >
          <path d="M19 21l-7-5-7 5V5a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2z"></path>
        </svg>
        查看文章
      </a>
    </div>
  </div>

  <table
    align="center"
    width="100%"
    data-id="__react-email-container"
    role="presentation"
    cellspacing="0"
    cellpadding="0"
    border="0"
    style="max-width: 600px; width: 100%; margin: 0 auto; margin-top: 32px"
  >
    <tbody>
      <tr style="width: 100%">
        <td>
          <table id="footer-paragraphs" border="0" cellpadding="0" cellspacing="0" style="width: 100%">
            <tbody>
              <tr>
                <td id="footer-hr-cell"><div class="footer-hr_LWA2_3" style="height: 1px" height="1"></div></td>
              </tr>
              <tr>
                <td id="footer-gradient-img-cell" style="width: 100%">
                  <img
                    id="footer-gradient"
                    src="https://statici.icloud.com/emailimages/v4/common/footer_gradient_web.png"
                    style="display: block; width: 100%"
                    height="16"
                    title=""
                  />
                </td>
              </tr>
              <tr>
                <td
                  id="footer-links"
                  style="
                    padding: 0;
                    text-align: center;
                    font: 11px/15px Geneva, Verdana, Arial, Helvetica, sans-serif;
                    color: #888;
                  "
                >
                  <span
                    class="text_6"
                    style="
                      height: 17px;
                      font-size: 12px;
                      font-family: PingFangSC-Regular, PingFang SC;
                      font-weight: 400;
                      color: #00000045;
                      line-height: 17px;
                    "
                    >此邮件由评论服务自动发出,直接回复无效。</span
                  >
                </td>
              </tr>
              <tr>
                <td
                  id="copyright-cell"
                  style="
                    padding: 0;
                    margin-bottom: 0;
                    text-align: center;
                    font: 11px/15px Geneva, Verdana, Arial, Helvetica, sans-serif;
                    color: #888;
                  "
                >
                  <a
                    class="text_7"
                    style="
                      height: 17px;
                      font-size: 12px;
                      font-family: PingFangSC-Regular, PingFang SC;
                      font-weight: 400;
                      color: #db214b;
                      line-height: 17px;
                      margin-top: 6px;
                      display: block;
                      text-decoration: none;
                    "
                    th:href="${site.url}"
                    >前往博客</a
                  >
                </td>
              </tr>
            </tbody>
          </table>
        </td>
      </tr>
    </tbody>
  </table>
</div>

我的自定义页面收到新评论

<style>
  .footer {
    display: none !important;
  }
</style>
<div
  style="
    margin-left: auto;
    margin-right: auto;
    margin-top: auto;
    margin-bottom: 16px;
    background-color: #fff;
    padding-top: 32px;
    padding-bottom: 32px;
    font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial,
      Noto Sans, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji;
  "
>
  <div
    style="
      max-width: 465px;
      margin-left: auto;
      margin-right: auto;
      margin-top: 0;
      margin-bottom: 40px;
      border-radius: 1rem;
      border-width: 1px;
      border-style: solid;
      border-color: rgb(244, 244, 245);
      background: linear-gradient(to bottom right, #ffffff, #fafbfc);
      padding-left: 24px;
      padding-right: 24px;
      padding-top: 20px;
      padding-bottom: 20px;
      border-collapse: initial;
    "
  >
    <table
      align="center"
      width="100%"
      data-id="react-email-section"
      border="0"
      cellpadding="0"
      cellspacing="0"
      role="presentation"
      style="margin-top: 24px"
    >
      <tbody>
        <tr>
          <td>
            <img
              data-id="react-email-img"
              alt="Cali"
              src="https://cali.so/subscription-email-header.jpg"
              width="250"
              height="129.28"
              style="
                display: block;
                outline: none;
                border: none;
                text-decoration: none;
                margin-left: auto;
                margin-right: auto;
                margin-top: 0px;
                margin-bottom: 0px;
              "
            />
          </td>
        </tr>
      </tbody>
    </table>
    <h1
      data-id="react-email-heading"
      style="
        margin-left: 0px;
        margin-right: 0px;
        margin-top: 30px;
        margin-bottom: 30px;
        padding: 0px;
        text-align: center;
        font-size: 24px;
        font-weight: 700;
        color: rgb(0, 0, 0);
      "
    >
      收到了新的评论
    </h1>
<!-- 主体内容 -->
            <!-- 评论者信息 -->
            <div style="background-color: #ecfdf5; border-radius: 14px; padding: 18px; margin-bottom: 25px; display: flex; align-items: center; border-left: 4px solid #10b981;">
                <div style="width: 40px; height: 40px; border-radius: 50%; background: linear-gradient(135deg, #047857, #10b981); display: flex; align-items: center; justify-content: center; margin-right: 15px; flex-shrink: 0; overflow: hidden;">
                    <!-- 用户头像占位符,可替换为实际头像 -->
                    <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
                        <path d="M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2"></path>
                        <circle cx="12" cy="7" r="4"></circle>
                    </svg>
                </div>
                <div>
                    <p style="margin: 0 0 5px 0; font-weight: 600; color: #065f46; font-size: 16px;">
                        <span th:text="${commenter}">John Doe</span> 评论了你的页面
                    </p>
                    <p style="margin: 0; color: #047857; font-size: 14px; line-height: 1.6;">
                        刚刚 · 通过网站评论系统
                    </p>
                </div>
            </div>
            
            <!-- 页面信息卡片 -->
            <div style="background-color: #f8fafc; border: 1px solid #e2e8f0; border-radius: 16px; padding: 20px; margin-bottom: 25px;">
                <div style="display: flex; align-items: center; margin-bottom: 15px;">
                    <div style="width: 36px; height: 36px; border-radius: 8px; background-color: #f1f5f9; display: flex; align-items: center; justify-content: center; margin-right: 12px;">
                        <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="#64748b" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
                            <path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"></path>
                            <polyline points="14 2 14 8 20 8"></polyline>
                            <line x1="16" y1="13" x2="8" y2="13"></line>
                            <line x1="16" y1="17" x2="8" y2="17"></line>
                            <polyline points="10 9 9 9 8 9"></polyline>
                        </svg>
                    </div>
                    <div>
                        <p style="margin: 0; color: #64748b; font-size: 13px;">评论页面</p>
                        <a th:href="${pageUrl}" target="_blank" th:text="|《${pageTitle}》|" style="margin: 0; color: #0f172a; font-size: 16px; font-weight: 600; text-decoration: none; transition: color 0.2s ease;" onmouseover="this.style.color='#10b981'" onmouseout="this.style.color='#0f172a'">《[[${pageTitle}]]》</a>
                    </div>
                </div>
                
                <div style="display: flex; flex-wrap: wrap; gap: 10px; margin-top: 15px;">
                    <div style="display: flex; align-items: center; background-color: #f1f5f9; padding: 6px 12px; border-radius: 20px;">
                        <svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="#64748b" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="margin-right: 5px;">
                            <path d="M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z"></path>
                        </svg>
                        <span style="color: #64748b; font-size: 13px;">## 赞</span>
                    </div>
                    <div style="display: flex; align-items: center; background-color: #f1f5f9; padding: 6px 12px; border-radius: 20px;">
                        <svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="#64748b" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="margin-right: 5px;">
                            <path d="M21 11.5a8.38 8.38 0 0 1-.9 3.8 8.5 8.5 0 0 1-7.6 4.7 8.38 8.38 0 0 1-3.8-.9L3 21l1.9-5.7a8.38 8.38 0 0 1-.9-3.8 8.5 8.5 0 0 1 4.7-7.6 8.38 8.38 0 0 1 3.8-.9h.5a8.48 8.48 0 0 1 8 8v.5z"></path>
                        </svg>
                        <span style="color: #64748b; font-size: 13px;">## 评论</span>
                    </div>
                    <div style="display: flex; align-items: center; background-color: #f1f5f9; padding: 6px 12px; border-radius: 20px;">
                        <svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="#64748b" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="margin-right: 5px;">
                            <path d="M15 3h4a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-4"></path>
                            <polyline points="10 17 15 12 10 7"></polyline>
                            <line x1="15" y1="12" x2="3" y2="12"></line>
                        </svg>
                        <span style="color: #64748b; font-size: 13px;">## 阅读</span>
                    </div>
                </div>
            </div>
            
            <!-- 评论内容卡片 -->
            <div style="margin-bottom: 25px;">
                <p style="color: #4b5563; margin-bottom: 24px; line-height: 1.7; font-size: 16px; font-weight: 500;">
                    以下是评论的具体内容:
                </p>
                
                <div style="background-color: #ffffff; border: 1px solid #e2e8f0; border-radius: 16px; padding: 20px; margin-bottom: 20px; position: relative; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.03);">
                    <!-- 引用标记 -->
                    <div style="position: absolute; top: -12px; left: 20px; width: 24px; height: 24px; background-color: #10b981; border-radius: 50%; display: flex; align-items: center; justify-content: center;">
                        <svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
                            <path d="M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z"></path>
                        </svg>
                    </div>
                    
                    <pre class="content" th:text="${content}" style="font-family: 'Segoe UI', Arial, sans-serif; white-space: pre-wrap; word-wrap: break-word; margin: 0; color: #374151; line-height: 1.7; font-size: 16px;">这是一条评论内容示例,用户可能对你的文章表达了感谢、提出了问题或分享了自己的观点。评论可能会很长,也可能很短,这里展示了评论的完整内容。</pre>
                    
                    <!-- 评论时间和来源 -->
                    <div style="display: flex; align-items: center; margin-top: 15px; padding-top: 15px; border-top: 1px solid #f1f5f9;">
                        <svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="#94a3b8" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="margin-right: 6px;">
                            <circle cx="12" cy="12" r="10"></circle>
                            <polyline points="12 6 12 12 16 14"></polyline>
                        </svg>
                        <span style="color: #94a3b8; font-size: 13px;">刚刚</span>
                    </div>
                </div>
            </div>
            
        
  </div>
  <table
    align="center"
    width="100%"
    data-id="__react-email-container"
    role="presentation"
    cellspacing="0"
    cellpadding="0"
    border="0"
    style="max-width: 600px; width: 100%; margin: 0 auto; margin-top: 32px"
  >
    <tbody>
      <tr style="width: 100%">
        <td>
          <table id="footer-paragraphs" border="0" cellpadding="0" cellspacing="0" style="width: 100%">
            <tbody>
              <tr>
                <td id="footer-hr-cell"><div class="footer-hr_LWA2_3" style="height: 1px" height="1"></div></td>
              </tr>
              <tr>
                <td id="footer-gradient-img-cell" style="width: 100%">
                  <img
                    id="footer-gradient"
                    src="https://statici.icloud.com/emailimages/v4/common/footer_gradient_web.png"
                    style="display: block; width: 100%"
                    height="16"
                    title=""
                  />
                </td>
              </tr>
              <tr>
                <td
                  id="footer-links"
                  style="
                    padding: 0;
                    text-align: center;
                    font: 11px/15px Geneva, Verdana, Arial, Helvetica, sans-serif;
                    color: #888;
                  "
                >
                  <span
                    class="text_6"
                    style="
                      height: 17px;
                      font-size: 12px;
                      font-family: PingFangSC-Regular, PingFang SC;
                      font-weight: 400;
                      color: #00000045;
                      line-height: 17px;
                    "
                    >此邮件由评论服务自动发出,直接回复无效。</span
                  >
                </td>
              </tr>
              <tr>
                <td
                  id="copyright-cell"
                  style="
                    padding: 0;
                    margin-bottom: 0;
                    text-align: center;
                    font: 11px/15px Geneva, Verdana, Arial, Helvetica, sans-serif;
                    color: #888;
                  "
                >
                  <a
                    class="text_7"
                    style="
                      height: 17px;
                      font-size: 12px;
                      font-family: PingFangSC-Regular, PingFang SC;
                      font-weight: 400;
                      color: #db214b;
                      line-height: 17px;
                      margin-top: 6px;
                      display: block;
                      text-decoration: none;
                    "
                    th:href="${site.url}"
                    >前往博客</a
                  >
                </td>
              </tr>
            </tbody>
          </table>
        </td>
      </tr>
    </tbody>
  </table>
</div>

有人回复了我

<style>
  .footer {
    display: none !important;
  }
</style>
<div
  style="
    margin-left: auto;
    margin-right: auto;
    margin-top: auto;
    margin-bottom: 16px;
    background-color: #fff;
    padding-top: 32px;
    padding-bottom: 32px;
    font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial,
      Noto Sans, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji;
  "
>
  <div
    style="
      max-width: 465px;
      margin-left: auto;
      margin-right: auto;
      margin-top: 0;
      margin-bottom: 40px;
      border-radius: 1rem;
      border-width: 1px;
      border-style: solid;
      border-color: rgb(244, 244, 245);
      background: linear-gradient(to bottom right, #ffffff, #fafbfc);
      padding-left: 24px;
      padding-right: 24px;
      padding-top: 20px;
      padding-bottom: 20px;
      border-collapse: initial;
    "
  >
          <table
            align="center"
            width="100%"
            data-id="react-email-section"
            border="0"
            cellpadding="0"
            cellspacing="0"
            role="presentation"
            style="margin-top: 24px"
          >
            <tbody>
              <tr>
                <td>
                  <img
                    data-id="react-email-img"
                    alt="Cali"
                    src="https://cali.so/subscription-email-header.jpg"
                    width="250"
                    height="129.28"
                    style="
                      display: block;
                      outline: none;
                      border: none;
                      text-decoration: none;
                      margin-left: auto;
                      margin-right: auto;
                      margin-top: 0px;
                      margin-bottom: 0px;
                    "
                  />
                </td>
              </tr>
            </tbody>
          </table>
          <h1
            data-id="react-email-heading"
            style="
              margin-left: 0px;
              margin-right: 0px;
              margin-top: 30px;
              margin-bottom: 30px;
              padding: 0px;
              text-align: center;
              font-size: 24px;
              font-weight: 700;
              color: rgb(0, 0, 0);
            "
          >
            收到了新的回复
          </h1>
          <p
            class="normal-font"
            style="
              margin: 0 auto;
              overflow-wrap: break-word;
              word-break: break-word;
              text-align: left;
              width: 100%;
              font-family: HarmonyOS Sans, SF Pro Text, SF Pro Icons, robot, Helvetica Neue, Helvetica, Arial,
                sans-serif;
              font-size: 14px;
              font-weight: 400;
              line-height: 150%;
              color: #000000;
            "
          >
            <span
              class="bold-font"
              style="
                font-style: inherit;
                font-family: inherit;
                font-size: inherit;
                line-height: inherit;
                text-indent: inherit;
                letter-spacing: inherit;
                color: inherit;
                font-weight: 600;
              "
              >[[${replier}]]在评论
              <a
                th:href="${commentSubjectUrl}"
                target="_blank"
                th:text="|”${isQuoteReply ? quoteContent : commentContent}”|"
              ></a
              >中回复了你</span
            >,以下是回复的具体内容:
          </p>

        <!-- 通知主体 -->
        <div class="body" style="background: linear-gradient(to right, #f8fafc, #f1f5f9); padding: 25px; border-radius: 14px; border-left: 4px solid #0ea5e9; margin-bottom: 25px; box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05);margin-top: 24px;">
            <p style="color: #334155; font-size: 16px; line-height: 1.7; margin-top: 0; margin-bottom: 15px;">
                <span style="font-weight: 600; color: #0284c7;" th:text="${replier}"></span> 在评论 
                <a th:href="${commentSubjectUrl}" target="_blank" th:text="|”${isQuoteReply ? quoteContent : commentContent}”|" ></a>
                <span>中回复了你,以下是回复的具体内容:</span>
            </p>
            
            <!-- 回复内容 -->
            <div style="position: relative; margin-top: 20px;">
                <!-- 装饰性引号 -->
                <svg xmlns="http://www.w3.org/2000/svg" width="30" height="30" viewBox="0 0 24 24" fill="#cbd5e1" style="position: absolute; top: -15px; left: -10px; opacity: 0.5;">
                    <path d="M14.017 21v-7.391c0-5.704 3.731-9.57 8.983-10.609l.995 2.151c-2.432.917-3.995 3.638-3.995 5.849h4v10h-9.983zm-14.017 0v-7.391c0-5.704 3.748-9.57 9-10.609l.996 2.151c-2.433.917-3.996 3.638-3.996 5.849h3.983v10h-9.983z"/>
                </svg>
                
                <pre class="content" th:text="${content}" style="background-color: #ffffff; padding: 20px; border-radius: 10px; font-family: inherit; white-space: pre-wrap; word-wrap: break-word; color: #475569; font-size: 15px; line-height: 1.6; margin: 0; border: 1px solid #e2e8f0; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);"></pre>
            </div>
        </div>
  </div>
  
  <table
    align="center"
    width="100%"
    data-id="__react-email-container"
    role="presentation"
    cellspacing="0"
    cellpadding="0"
    border="0"
    style="max-width: 600px; width: 100%; margin: 0 auto; margin-top: 32px"
  >
    <tbody>
      <tr style="width: 100%">
        <td>
          <table id="footer-paragraphs" border="0" cellpadding="0" cellspacing="0" style="width: 100%">
            <tbody>
              <tr>
                <td id="footer-hr-cell"><div class="footer-hr_LWA2_3" style="height: 1px" height="1"></div></td>
              </tr>
              <tr>
                <td id="footer-gradient-img-cell" style="width: 100%">
                  <img
                    id="footer-gradient"
                    src="https://statici.icloud.com/emailimages/v4/common/footer_gradient_web.png"
                    style="display: block; width: 100%"
                    height="16"
                    title=""
                  />
                </td>
              </tr>
              <tr>
                <td
                  id="footer-links"
                  style="
                    padding: 0;
                    text-align: center;
                    font: 11px/15px Geneva, Verdana, Arial, Helvetica, sans-serif;
                    color: #888;
                  "
                >
                  <span
                    class="text_6"
                    style="
                      height: 17px;
                      font-size: 12px;
                      font-family: PingFangSC-Regular, PingFang SC;
                      font-weight: 400;
                      color: #00000045;
                      line-height: 17px;
                    "
                    >此邮件由评论服务自动发出,直接回复无效。</span
                  >
                </td>
              </tr>
              <tr>
                <td
                  id="copyright-cell"
                  style="
                    padding: 0;
                    margin-bottom: 0;
                    text-align: center;
                    font: 11px/15px Geneva, Verdana, Arial, Helvetica, sans-serif;
                    color: #888;
                  "
                >
                  <a
                    class="text_7"
                    style="
                      height: 17px;
                      font-size: 12px;
                      font-family: PingFangSC-Regular, PingFang SC;
                      font-weight: 400;
                      color: #db214b;
                      line-height: 17px;
                      margin-top: 6px;
                      display: block;
                      text-decoration: none;
                    "
                    th:href="${site.url}"
                    >前往博客</a
                  >
                </td>
              </tr>
            </tbody>
          </table>
        </td>
      </tr>
    </tbody>
  </table>
</div>

邮箱验证

<style>.footer{display: none !important;}</style>
<div
  style="
    margin-left: auto;
    margin-right: auto;
    margin-top: auto;
    margin-bottom: 16px;
    background-color: #fff;
    padding-top: 32px;
    padding-bottom: 32px;
    font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial,
      Noto Sans, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji;
  "
>
  <div
    style="
      max-width: 465px;
      margin-left: auto;
      margin-right: auto;
      margin-top: 40px;
      margin-bottom: 40px;
      border-radius: 1rem;
      border-width: 1px;
      border-style: solid;
      border-color: rgb(244, 244, 245);
      background: linear-gradient(to bottom right, #ffffff, #fafbfc);
      padding-left: 24px;
      padding-right: 24px;
      padding-top: 20px;
      padding-bottom: 20px;
      border-collapse: initial;
    "
  >
    <table
      align="center"
      width="100%"
      data-id="react-email-section"
      border="0"
      cellpadding="0"
      cellspacing="0"
      role="presentation"
      style="margin-top: 24px"
    >
      <tbody>
        <tr>
          <td>
            <img
              data-id="react-email-img"
              alt="Cali"
              src="https://cali.so/subscription-email-header.jpg"
              width="250"
              height="129.28"
              style="
                display: block;
                outline: none;
                border: none;
                text-decoration: none;
                margin-left: auto;
                margin-right: auto;
                margin-top: 0px;
                margin-bottom: 0px;
              "
            />
          </td>
        </tr>
      </tbody>
    </table>
    <h1
      data-id="react-email-heading"
      style="
        margin-left: 0px;
        margin-right: 0px;
        margin-top: 30px;
        margin-bottom: 30px;
        padding: 0px;
        text-align: center;
        font-size: 24px;
        font-weight: 700;
        color: rgb(0, 0, 0);
      "
    >
      验证邮箱
    </h1>
    <p
      class="normal-font"
      style="
        margin: 0 auto;
        overflow-wrap: break-word;
        word-break: break-word;
        text-align: center;
        width: 100%;
        font-family: HarmonyOS Sans, SF Pro Text, SF Pro Icons, robot, Helvetica Neue, Helvetica, Arial, sans-serif;
        font-size: 14px;
        font-weight: 400;
        line-height: 150%;
        color: #000000;
      "
    >
      <span
        class="bold-font"
        style="
          font-style: inherit;
          font-family: inherit;
          font-size: inherit;
          line-height: inherit;
          text-indent: inherit;
          letter-spacing: inherit;
          color: inherit;
          font-weight: 600;
        text-align: center;
        "
        >使用下面的动态验证码(OTP)验证您的电子邮件地址。</span
      >
    </p>
            <!-- 验证码显示 -->
            <div class="verify-code" style="background-color: #eef2ff; border-radius: 16px; padding: 25px 20px; margin: 30px auto; border: 2px dashed #c7d2fe;">
                <p style="color: #6b7280; font-size: 13px; margin: 0 0 12px 0; text-transform: uppercase; letter-spacing: 1px; font-weight: 600;">您的验证码</p>
                <div style="font-size: 36px; letter-spacing: 6px; font-weight: 700; color: #4f46e5;">
                    <b th:text="${code}">123456</b>
                </div>
                <div style="margin-top: 15px; display: flex; align-items: center; justify-content: center;">
                    <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="#6b7280" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="margin-right: 6px;">
                        <circle cx="12" cy="12" r="10"></circle>
                        <polyline points="12 6 12 12 16 14"></polyline>
                    </svg>
                    <p style="margin: 0; color: #6b7280; font-size: 14px;" th:text="|有效期: ${expirationAtMinutes} 分钟|">有效期: 10 分钟</p>
                </div>
            </div>
            
            <!-- 安全提示 -->
            <div style="background-color: #f9fafb; border-radius: 12px; padding: 16px; text-align: left; border-left: 4px solid #6366f1; margin: 30px 0 20px 0;">
                <div style="display: flex; align-items: flex-start;">
                    <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="#4f46e5" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="margin-right: 10px; margin-top: 2px; flex-shrink: 0;">
                        <path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"></path>
                    </svg>
                    <div>
                        <p style="margin: 0 0 8px 0; color: #4b5563; font-size: 15px; font-weight: 500;">安全提示</p>
                        <p style="margin: 0; color: #6b7280; font-size: 14px; line-height: 1.6;">
                            如果您没有尝试验证您的电子邮件地址,请忽略此电子邮件。请勿将验证码分享给任何人,包括自称客服的人员。
                        </p>
                    </div>
                </div>
            </div>
            
            <!-- 操作提示 -->
            <p style="color: #6b7280; font-size: 14px;text-align:center; line-height: 1.6; margin: 20px 0 0 0;">
                请返回到验证页面输入此验证码以完成验证流程。
            </p>
  </div>
  <table
    align="center"
    width="100%"
    data-id="__react-email-container"
    role="presentation"
    cellspacing="0"
    cellpadding="0"
    border="0"
    style="max-width: 600px; width: 100%; margin: 0 auto; margin-top: 32px"
  >
    <tbody>
      <tr style="width: 100%">
        <td>
          <table id="footer-paragraphs" border="0" cellpadding="0" cellspacing="0" style="width: 100%">
            <tbody>
              <tr>
                <td id="footer-hr-cell"><div class="footer-hr_LWA2_3" style="height: 1px" height="1"></div></td>
              </tr>
              <tr>
                <td id="footer-gradient-img-cell" style="width: 100%">
                  <img
                    id="footer-gradient"
                    src="https://statici.icloud.com/emailimages/v4/common/footer_gradient_web.png"
                    style="display: block; width: 100%"
                    height="16"
                    title=""
                  />
                </td>
              </tr>
              <tr>
                <td
                  id="footer-links"
                  style="
                    padding: 0;
                    text-align: center;
                    font: 11px/15px Geneva, Verdana, Arial, Helvetica, sans-serif;
                    color: #888;
                  "
                >
                  <span
                    class="text_6"
                    style="
                      height: 17px;
                      font-size: 12px;
                      font-family: PingFangSC-Regular, PingFang SC;
                      font-weight: 400;
                      color: #00000045;
                      line-height: 17px;
                    "
                    >此邮件由评论服务自动发出,直接回复无效。</span
                  >
                </td>
              </tr>
              <tr>
                <td
                  id="copyright-cell"
                  style="
                    padding: 0;
                    margin-bottom: 0;
                    text-align: center;
                    font: 11px/15px Geneva, Verdana, Arial, Helvetica, sans-serif;
                    color: #888;
                  "
                >
                  <a
                    class="text_7"
                    style="
                      height: 17px;
                      font-size: 12px;
                      font-family: PingFangSC-Regular, PingFang SC;
                      font-weight: 400;
                      color: #db214b;
                      line-height: 17px;
											margin-top: 6px;
											display: block;
                      text-decoration: none;
                    "
                    href="${SITE_URL}"
                    >前往博客</a
                  >
                </td>
              </tr>
            </tbody>
          </table>
        </td>
      </tr>
    </tbody>
  </table>
</div>

新设备登录

<style>
  .footer {
    display: none !important;
  }
</style>
<div
  style="
    margin-left: auto;
    margin-right: auto;
    margin-top: auto;
    margin-bottom: 16px;
    background-color: #fff;
    padding-top: 32px;
    padding-bottom: 32px;
    font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial,
      Noto Sans, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji;
  "
>
  <div
    style="
      max-width: 465px;
      margin-left: auto;
      margin-right: auto;
      margin-top: 0;
      margin-bottom: 40px;
      border-radius: 1rem;
      border-width: 1px;
      border-style: solid;
      border-color: rgb(244, 244, 245);
      background: linear-gradient(to bottom right, #ffffff, #fafbfc);
      padding-left: 24px;
      padding-right: 24px;
      padding-top: 20px;
      padding-bottom: 20px;
      border-collapse: initial;
    "
  >
    <table
      align="center"
      width="100%"
      data-id="react-email-section"
      border="0"
      cellpadding="0"
      cellspacing="0"
      role="presentation"
      style="margin-top: 24px"
    >
      <tbody>
        <tr>
          <td>
            <img
              data-id="react-email-img"
              alt="Cali"
              src="https://cali.so/subscription-email-header.jpg"
              width="250"
              height="129.28"
              style="
                display: block;
                outline: none;
                border: none;
                text-decoration: none;
                margin-left: auto;
                margin-right: auto;
                margin-top: 0px;
                margin-bottom: 0px;
              "
            />
          </td>
        </tr>
      </tbody>
    </table>
    <h1
      data-id="react-email-heading"
      style="
        margin-left: 0px;
        margin-right: 0px;
        margin-top: 30px;
        margin-bottom: 30px;
        padding: 0px;
        text-align: center;
        font-size: 24px;
        font-weight: 700;
        color: rgb(0, 0, 0);
      "
    >
      检测到新设备登录
    </h1>
    <p
      class="normal-font"
      style="
        margin: 0 auto;
        overflow-wrap: break-word;
        word-break: break-word;
        text-align: left;
        width: 100%;
        font-family: HarmonyOS Sans, SF Pro Text, SF Pro Icons, robot, Helvetica Neue, Helvetica, Arial, sans-serif;
        font-size: 14px;
        font-weight: 400;
        line-height: 150%;
        color: #000000;
      "
    >
      <span
        class="bold-font"
        style="
          font-style: inherit;
          font-family: inherit;
          font-size: inherit;
          line-height: inherit;
          text-indent: inherit;
          letter-spacing: inherit;
          color: inherit;
          font-weight: 400;
        "
      >
        我们注意到您的 <span
          class="bold-font"
          style="
            font-style: inherit;
            font-family: inherit;
            font-size: inherit;
            line-height: inherit;
            text-indent: inherit;
            letter-spacing: inherit;
            color: inherit;
            font-weight: 600;
          "
          >[(${site.title})]</span> 账号被用于在
        <span
          class="bold-font"
          style="
            font-style: inherit;
            font-family: inherit;
            font-size: inherit;
            line-height: inherit;
            text-indent: inherit;
            letter-spacing: inherit;
            color: inherit;
            font-weight: 600;
          "
          >[[${os}]]</span
        >的
        <span
          class="bold-font"
          style="
            font-style: inherit;
            font-family: inherit;
            font-size: inherit;
            line-height: inherit;
            text-indent: inherit;
            letter-spacing: inherit;
            color: inherit;
            font-weight: 600;
          "
          >[[${browser}]]</span
        >
        登录。
      </span>
    </p>
    <br />
    <div style="background-color: #ffffff; border-radius: 16px; border: 1px solid #e5e7eb; overflow: hidden; margin-bottom: 30px; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.03);">
                <div style="background-color: #f8fafc; padding: 16px 20px; border-bottom: 1px solid #e5e7eb; display: flex; align-items: center;">
                    <svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="#64748b" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="margin-right: 10px;">
                        <rect x="2" y="3" width="20" height="14" rx="2" ry="2"></rect>
                        <line x1="8" y1="21" x2="16" y2="21"></line>
                        <line x1="12" y1="17" x2="12" y2="21"></line>
                    </svg>
                    <h3 style="margin: 0; color: #334155; font-size: 16px; font-weight: 600;">设备信息</h3>
                </div>
                
                <div class="device-info" style="padding: 20px;">
                    <!-- 设备图标和类型 -->
                    <div style="display: flex; align-items: center; margin-bottom: 25px;">
                        <div style="width: 50px; height: 50px; background-color: #f8fafc; border-radius: 12px; display: flex; align-items: center; justify-content: center; margin-right: 15px; border: 1px solid #e5e7eb;">
                            <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="#64748b" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
                                <rect x="2" y="3" width="20" height="14" rx="2" ry="2"></rect>
                                <line x1="8" y1="21" x2="16" y2="21"></line>
                                <line x1="12" y1="17" x2="12" y2="21"></line>
                            </svg>
                        </div>
                        <div>
                            <p style="margin: 0 0 3px 0; font-size: 15px; font-weight: 600; color: #334155;" th:text="${os}">[(${os})]</p>
                            <p style="margin: 0; font-size: 14px; color: #64748b;" th:text="${browser}">[(${browser})]</p>
                        </div>
                    </div>
                    
                    <!-- 登录信息列表 -->
                    <div style="background-color: #f9fafb; border-radius: 12px; overflow: hidden; margin-bottom: 5px;">
                        <div style="display: flex; padding: 14px 16px; border-bottom: 1px solid #f1f5f9;">
                            <div style="width: 24px; margin-right: 12px; display: flex; align-items: center; justify-content: center;">
                                <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="#64748b" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
                                    <circle cx="12" cy="12" r="10"></circle>
                                    <polyline points="12 6 12 12 16 14"></polyline>
                                </svg>
                            </div>
                            <div style="flex: 1;">
                                <p style="margin: 0 0 2px 0; font-size: 13px; color: #64748b;">登录时间</p>
                                <p style="margin: 0; font-size: 15px; font-weight: 500; color: #334155;" th:text="${loginTime}">[(${loginTime})]</p>
                            </div>
                        </div>
                        
                        <div style="display: flex; padding: 14px 16px;">
                            <div style="width: 24px; margin-right: 12px; display: flex; align-items: center; justify-content: center;">
                                <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="#64748b" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
                                    <path d="M9 11a3 3 0 1 0 6 0a3 3 0 0 0 -6 0"></path>
                                    <circle cx="12" cy="11" r="8"></circle>
                                    <path d="M8 21l4 -9l4 9"></path>
                                </svg>
                            </div>
                            <div style="flex: 1;">
                                <p style="margin: 0 0 2px 0; font-size: 13px; color: #64748b;">IP 地址</p>
                                <p style="margin: 0; font-size: 15px; font-weight: 500; color: #334155;" th:text="${ipAddress}">[(${ipAddress})]</p>
                            </div>
                        </div>
                    </div>
                    
                    <p style="margin: 15px 0 0 0; font-size: 13px; color: #64748b; line-height: 1.5;">
                        此信息仅供安全目的使用,帮助你识别可能的未授权访问。
                    </p>
                </div>
            </div>
            <!-- 安全建议 -->
            <div style="margin: 30px 0 20px 0;">
                <h4 style="margin: 0 0 15px 0; color: #334155; font-size: 16px; font-weight: 600; display: flex; align-items: center;">
                    <svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="#64748b" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="margin-right: 8px;">
                        <path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"></path>
                    </svg>
                    请注意
                </h4>
                
                <div style="background-color: #fff7ed; border-radius: 14px; padding: 20px; border-left: 4px solid #f97316; margin-bottom: 20px;">
                    <p style="margin: 0 0 15px 0; color: #4b5563; line-height: 1.7; font-size: 15px;">
                        如果你知悉上述信息,请忽略此电子邮件。
                    </p>
                    <p style="margin: 0; color: #4b5563; line-height: 1.7; font-size: 15px;" th:text="|如果你最近没有使用你的 ${site.title} 账号登录并相信有人可能访问了你的账户,请尽快重设你的密码。|">
                        如果你最近没有使用你的 [(${site.title})] 账号登录并相信有人可能访问了你的账户,请尽快重设你的密码。
                    </p>
                </div>
            </div>
  </div>
  <table
    align="center"
    width="100%"
    data-id="__react-email-container"
    role="presentation"
    cellspacing="0"
    cellpadding="0"
    border="0"
    style="max-width: 600px; width: 100%; margin: 0 auto; margin-top: 32px"
  >
    <tbody>
      <tr style="width: 100%">
        <td>
          <table id="footer-paragraphs" border="0" cellpadding="0" cellspacing="0" style="width: 100%">
            <tbody>
              <tr>
                <td id="footer-hr-cell"><div class="footer-hr_LWA2_3" style="height: 1px" height="1"></div></td>
              </tr>
              <tr>
                <td id="footer-gradient-img-cell" style="width: 100%">
                  <img
                    id="footer-gradient"
                    src="https://statici.icloud.com/emailimages/v4/common/footer_gradient_web.png"
                    style="display: block; width: 100%"
                    height="16"
                    title=""
                  />
                </td>
              </tr>
              <tr>
                <td
                  id="footer-links"
                  style="
                    padding: 0;
                    text-align: center;
                    font: 11px/15px Geneva, Verdana, Arial, Helvetica, sans-serif;
                    color: #888;
                  "
                >
                  <span
                    class="text_6"
                    style="
                      height: 17px;
                      font-size: 12px;
                      font-family: PingFangSC-Regular, PingFang SC;
                      font-weight: 400;
                      color: #00000045;
                      line-height: 17px;
                    "
                    >此邮件由评论服务自动发出,直接回复无效。</span
                  >
                </td>
              </tr>
              <tr>
                <td
                  id="copyright-cell"
                  style="
                    padding: 0;
                    margin-bottom: 0;
                    text-align: center;
                    font: 11px/15px Geneva, Verdana, Arial, Helvetica, sans-serif;
                    color: #888;
                  "
                >
                  <a
                    class="text_7"
                    style="
                      height: 17px;
                      font-size: 12px;
                      font-family: PingFangSC-Regular, PingFang SC;
                      font-weight: 400;
                      color: #db214b;
                      line-height: 17px;
                      margin-top: 6px;
                      display: block;
                      text-decoration: none;
                    "
                    th:href="${site.url}"
                    >前往博客</a
                  >
                </td>
              </tr>
            </tbody>
          </table>
        </td>
      </tr>
    </tbody>
  </table>
</div>

其他模板

https://www.master-jsx.top/archives/1744346486344https://www.ryanzm.cn/archives/Kunkunyu-email

结尾

也是都看到这里了,来顺手点个 订阅 看看模版具体长什么样!

© 本文著作权归作者所有,未经许可不得转载使用。