簡體   English   中英

如何使用Google Apps腳本加粗特定文字?

[英]How to bold specific text using Google Apps Script?

我使用Google Spreadsheets的內置表單功能在我的網站上構建聯系表單。

現在,請考慮以下代碼:

function sendFormByEmail(e)
{

  var email = "team@example.com";

  subject = e.namedValues["Subject"].toString();

  message = "Time: " + e.namedValues["Timestamp"].toString() + "\n\n"
  + "Name: " + e.namedValues["Name"].toString() + "\n\n"
  + "Email: " + e.namedValues["Email Address"].toString() + "\n\n"
  + "Website: " + e.namedValues["Website"].toString() + "\n\n"
  + "Reason For Contacting?: " + e.namedValues["Reason For Contacting?"].toString() + "\n\n"
  + "Message: " + e.namedValues["Message"].toString() + "\n\n";

  MailApp.sendEmail(email, subject, message);

}

它確保我在收到表單后立即收到電子郵件,電子郵件的正文包含信息。 像這樣(例子):

時間:2012/02/25 11:53

姓名:約翰戴維斯

電子郵件:John@google.com

網站: http//google.com

聯系原因?:只想和你聊聊

消息:已經很久了。 今晚抓住我。

所以,現在你應該清楚地了解代碼的作用。 問題是,我希望輸出看起來像這樣(即粗體一些文本):

時間: 2012/02/25 11:53

姓名:約翰戴維斯

電子郵件: John@google.com

網站: http //google.com

聯系原因?:只想和你聊聊

消息:已經很久了。 今晚抓住我。

如何修改代碼來實現這一目標? 謝謝。

MailApp.sendEmail可以將htmlBody作為advancedArgs。 這里描述了http://code.google.com/googleapps/appsscript/class_mailapp.html

你可以像發送htmlBody一樣發送

function sendFormByEmail(e) {
    var email = "team@example.com";
    var subject = e.namedValues["Subject"].toString();
    var msgHtml = "<b>Time</b>: " + e.namedValues["Timestamp"].toString() + "<br/>"
        + "<b>Name:</b> " + e.namedValues["Name"].toString() + "<br/>"
        + "<b>Email:</b> " + e.namedValues["Email Address"].toString() + "<br/>"
        + "<b>Website:</b> " + e.namedValues["Website"].toString() + "<br/>"
        + "<b>Reason For Contacting?:</b> " + e.namedValues["Reason For Contacting?"].toString() + "<br/>"
        + "<b>Message:</b> " + e.namedValues["Message"].toString() + "<br/>";

    var msgPlain = msgHtml.replace(/\<br\/\>/gi, '\n').replace(/(<([^>]+)>)/ig, ""); // clear html tags and convert br to new lines for plain mail
    MailApp.sendEmail(email, subject, msgPlain, { htmlBody: msgHtml });
}

以上是針對換行的。 用它來分隔段落:

function sendFormByEmail(e) {
    var email = "team@example.com";
    var subject = e.namedValues["Subject"].toString();
    var msgHtml = "<p>" + "<b>Time</b>: " + e.namedValues["Timestamp"].toString() + "</p>"
        + "<p>" + "<b>Name:</b> " + e.namedValues["Name"].toString() + "</p>"
        + "<p>" + "<b>Email:</b> " + e.namedValues["Email Address"].toString() + "</p>"
        + "<p>" + "<b>Website:</b> " + e.namedValues["Website"].toString() + "</p>"
        + "<p>" + "<b>Reason For Contacting?:</b> " + e.namedValues["Reason For Contacting?"].toString() + "</p>"
        + "<p>" + "<b>Message:</b> " + e.namedValues["Message"].toString() + "</p>";

    var msgPlain = msgHtml.replace(/(<([^>]+)>)/ig, ""); // clear html tags for plain mail
    MailApp.sendEmail(email, subject, msgPlain, { htmlBody: msgHtml });
}

我沒有嘗試,但它應該工作。

一種對我有用的簡單方法。

 function inlineImage() { 
   MailApp.sendEmail({
     to: "Your@email.com",
     subject: "Subject",
     htmlBody: '<a href="http://google.com"> <b>Google</b></a> ' ,

   });
 }

Abe.S提供的答案更簡單。 我將它與arunes的部分編輯答案相結合。 它現在以his_me在評論arunes中的方式編寫

function inlineImage() { 
   MailApp.sendEmail({
     to: "team@example.com",
     subject: e.namedValues["Subject"].toString(),
     htmlBody: "<b>Time</b>: " + e.namedValues["Timestamp"].toString() + "<br/>"
    + "<b>Name:</b> " + e.namedValues["Name"].toString() + "<br/>"
    + "<b>Email:</b> " + e.namedValues["Email Address"].toString() + "<br/>"
    + "<b>Website:</b> " + e.namedValues["Website"].toString() + "<br/>"
    + "<b>Reason For Contacting?:</b> " + e.namedValues["Reason For Contacting?"].toString() + "<br/>"
    + "<b>Message:</b> " + e.namedValues["Message"].toString() + "<br/>",
   });
 }

我用我自己的變量測試它代替了我的應用程序的所有“e.namedValues [...”並且它有效。 我還是新手,所以我不確定為什么做“msgPlain”到“msgHtml”的替換步驟會更好。

順便說一下,我試着把它寫成評論,但我沒有足夠的分數。 雖然我猜我寫的內容在技術上是它最初尋找的答案。 非常感謝Abe.Sarunes教我兩個劇本。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM