我是通过Google应用脚本在Google电子邮件中嵌入Google表单,但该表单无法从Outlook和iPhone正确提交。它仅适用于Google Mail客户端吗?
是否有办法解决iphone或outlook的提交问题?
由于 Amany
答案 0 :(得分:4)
要使用电子邮件中嵌入的表单,电子邮件客户端需要支持html表单。 Outlook有自己的表单,但不支持html表单元素(reference)。我还没有找到iPhone的参考,但它可能也限制了html的支持。 (我在手机上使用gmail客户端......它支持表单。)
如果您正在使用Send form by email and track responses in spreadsheet中的代码,那么您可以扩展脚本,为在其电子邮件客户端中没有HTML表单支持的用户提供doGet
功能。
previous gist已根据这些更改进行了更新。 (实际上,要点已经具有doGet()
功能。)
通过添加doGet()
功能扩展此代码,该功能将托管与您嵌入电子邮件中完全相同的表单。
/**
* GET handler to provide alternate online form.
*/
function doGet() {
// Build survey body
var template = HtmlService.createTemplateFromFile('emailTemplate');
template.scriptUrl = ScriptApp.getService().getUrl();
template.serialNumber = getGUID(); // Generate serial number for this response
var app = template.evaluate();
return app;
}
对sendSurvey()
功能进行以下修改:
var plainText = 'Please complete this survey online at: ' + scriptUrl;
html += '<p>Alternatively, you may <A href="' + scriptUrl + '"> complete this survey online.</A>';
// Send email form
GmailApp.sendEmail(recipient, subject, plainText, {htmlBody:html} );
现在,在他们的电子邮件客户端中没有HTML支持的收件人将有一条纯文本消息,其中包含可以粘贴到浏览器中的地址,而没有<FORM>
支持的HTML客户端将具有指向在线表单的可点击链接。 / p>