its*_*_me 4 javascript google-sheets 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);
}
Run Code Online (Sandbox Code Playgroud)
它确保我在收到表单后立即收到电子邮件,电子邮件的正文包含信息.像这样(例子):
时间:2012/02/25 11:53
姓名:约翰戴维斯
电子邮件:John@google.com
网站:http://google.com
联系原因?:只想和你聊聊
消息:已经很久了.今晚抓住我.
所以,现在你应该清楚地了解代码的作用.问题是,我希望输出看起来像这样(即粗体一些文本):
时间: 2012/02/25 11:53
姓名:约翰戴维斯
电子邮件: John@google.com
网站: http ://google.com
联系原因?:只想和你聊聊
消息:已经很久了.今晚抓住我.
如何修改代码来实现这一目标?谢谢.
aru*_*nes 12
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 });
}
Run Code Online (Sandbox Code Playgroud)
以上是针对换行的.用它来分隔段落:
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 });
}
Run Code Online (Sandbox Code Playgroud)
我没有尝试,但它应该工作.
| 归档时间: |
|
| 查看次数: |
18136 次 |
| 最近记录: |