2017-08-25 3 views
1

Je suis en train d'écrire un bot de réponse automatique pour Gmail en utilisant Google Apps Script (http://script.google.com). Chaque fois que j'utilise l » ReplyGmailThread pour répondre à un message:Envoyer un e-mail en HTML et tout simplement avec un script Gmail Apps

var htmlbody = "Hello<br>This is a <b>test</b>.<br>Bye."; 
var body = "Hello,\nThis is a test.\nBye."; 

thread.reply(body, {htmlBody: htmlbody, from: "Myself <[email protected]>"}); 

J'ai besoin d'écrire le message à la fois dans le texte brut body et HTML dans htmlbody.

Y aurait-il un moyen d'écrire un e-mail uniquement en HTML (pour éviter d'écrire tous les contenus e-mail deux fois, et HTML!), et laissez reply() envoyer automatiquement le courrier électronique aussi bien en version HTML et texte brut?


J'ai essayé

var body = htmlbody.replace(/<br>/g,'\n').replace(/<b>/g,''); 
// we should also replace </b> by '', etc. 

mais cela est un peu un hack. Y a-t-il une meilleure version?

Répondre

1

Google Scripts ne peut pas générer automatiquement la partie en texte brut, mais vous écrivez un simple regex basé remplace qui supprime toutes les balises du HTML pour le texte brut. En outre, si vous définissez le corps sur blanc, la plupart des clients de messagerie modernes seront toujours en mesure de rendre l'image.

+0

Merci, donc cela confirme que nous devons le faire manuellement et «répondre» ne peut pas le faire pour nous. Peut-être 'htmlbody.replace (/
/g,'\n').replace(/ <.+?>/g," ");' serait également utile? – Basj