繁体   English   中英

使用 HTML 电子邮件正文中的变量作为超链接中的 URL

[英]Using a variable in the body of a HTML email as URL in a hyperlink

我有一个从电子表格发送 HTML 电子邮件的 Google 脚本。 电子表格中的一个单元格包含一个可更改的 URL,因为它由其他单元格的值组成。 在我的 GS 中,我将此 URL 读入 var。 现在,我想在呈现电子邮件的 HTML 代码中使用此变量,以便电子邮件接收者可以单击打开此自定义 URL 的链接。

我找不到用包含我的自定义 URL 的变量替换固定 URL 的解决方案

**** Google script*****

var CO_PP = COSheet.getRange(2,11).getValue() ; 
var CO_PP_href =  ("<a href=\"" + CO_PP + "\">")  ;  //  use a backslash \ to escape the quotation marks. 

var EmailBody =  HtmlService.createTemplateFromFile(template); 
           EmailBody.EmailVar1 = CO_Name;
           EmailBody.EmailVar2 = CO_Email;
           EmailBody.EmailVar13 = CO_PP_href;


 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 });






*******HTML*******

<!-- 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> +<?= EmailVar13 ?>+ <span style="font-size:18px;">  <!-- PROBLEM ON THIS LINE -->  
            <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 -->   

在 GAS 中使用 HTML 模板时,分配给模板的变量将被转义。 这意味着在您的情况下,如果CO_PP_href设置为表达式"<a href=\\"" + CO_PP + "\\">"实际标签将不会放入 HTML,而是转义版本 ( &lt;a href=&#34;...&#34;&gt; ) 以便将其视为页面中可打印的“文本”。

根据您的需求,我提出了不同的解决方案。 可以先在html模板内部创建<a>标签,评估模板时只设置其href属性。 解决方案如下所示:

HTML

<!-- 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="<?= EmailVar13 ?>"> <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 -->   

气体

var CO_PP = COSheet.getRange(2,11).getValue() ; 

var EmailBody = HtmlService.createTemplateFromFile(template); 
EmailBody.EmailVar1 = CO_Name;
EmailBody.EmailVar2 = CO_Email;
EmailBody.EmailVar13 = CO_PP;

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 });

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM