You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Google脚本生成的HTML邮件中用变量作为超链接URL

我来帮你搞定这个动态超链接的问题!你现在的问题主要出在HTML模板的语法错误,以及提前拼接<a>标签的方式不够灵活。咱们一步步来修正:

问题分析

  1. 你在HTML里写了+<?= EmailVar13 ?>+,这两个加号是多余的——Google Apps Script的HTML模板语法只需要直接用<?= 变量名 ?>输出内容,不需要额外的加号包裹。
  2. 提前把<a href="...">拼接到变量里虽然能工作,但会让HTML结构变得混乱,不利于后续维护。更清晰的做法是把纯URL作为变量传入,在HTML模板里构建完整的链接标签。

修正后的代码

1. 修改Google Apps Script部分

把原来拼接<a>标签的代码去掉,直接传递纯URL变量:

var CO_PP = COSheet.getRange(2,11).getValue();
var EmailBody = HtmlService.createTemplateFromFile(template);
EmailBody.EmailVar1 = CO_Name;
EmailBody.EmailVar2 = CO_Email;
EmailBody.PayPalUrl = CO_PP; // 直接传递纯URL,不要提前拼接a标签
var MyHtmlBody = EmailBody.evaluate().getContent();

var EmailSubject = "Credits Order SUCCES .:: CADsherpa Weblink ::.";
MailApp.sendEmail(CO_Email, EmailSubject, "Your emailreader does not support HTML." + " Try opening this message with a different email reader or take contact with info@cadsherpa.com", {
  htmlBody: MyHtmlBody, 
  attachments: PDF_ToSend 
});

2. 修改HTML模板部分

把原来的错误代码改成完整的<a>标签结构,用模板变量填充href属性:

<!-- button start -->
<div>
<p>&nbsp;</p>
<table align="left" border="0" cellpadding="1" cellspacing="1" style="height:10px;width:185px;">
<tbody>
<tr>
<td style="white-space: nowrap; text-align: center; vertical-align: middle; background-color: rgb(51, 102, 255);">
<h3>
<a href="<?= PayPalUrl ?>">
<span style="font-size:18px;">
<strong><em><span style="font-family:arial,helvetica,sans-serif;">
<span style="color:#FFFFFF;">Pay with PayPal </span></span></em></strong>
</span>
</a>
</h3>
</td>
</tr>
</tbody>
</table>
<p>&nbsp;</p>
</div>
<!-- button end -->

额外提示

  • 确保CO_PP获取到的是有效的完整URL(比如以http://或https://开头),否则链接可能无法正常跳转。
  • Google Apps Script的HTML模板会自动对变量内容进行HTML转义,所以如果URL里包含特殊字符(比如&),会被自动转换成安全的HTML实体,不用担心链接失效。

内容的提问来源于stack exchange,提问作者J Steurs

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.14 09:16:02