как вставить встроенное изображение в автоматическую почту из гугл листа - PullRequest
0 голосов
/ 15 февраля 2019

Я хочу отправлять почту со встроенным изображением, а не в качестве вложения через лист Google.Пожалуйста, помогите

скрипт, как показано ниже:

function emailSummary() {
    var ss = SpreadsheetApp.getActiveSpreadsheet()
    var sh = ss.getSheetByName("Hitesh")
    var file = DriveApp.getFileById('1T8QA_WsXQkZZGwmBSN13iPV7rM8xGG_GtYy6T1eug-c') 
    var gmail = 'hitesh.gtg@Gmail.com';
    var html =  '<png>'

    MailApp.sendEmail("hitesh.gtg@gmail.com", "sunject", "Dear Sir,\n\n Forwarding herewith Monthly Summaryw \n\n Regards \n Hitesh ", {
    //email address, subject, message

     name: 'Hitesh', //file name
     attachments: [file.getAs(MimeType.PDF)] //file to attach
    });
}

Ответы [ 2 ]

0 голосов
/ 15 февраля 2019

Отправка изображений по электронной почте с вашего Google Диска

Вы можете использовать параметр htmlBody в GmailApp.sendMail().Однако, если вы хотите избежать сохранения изображения в общедоступном URL-адресе.Вы можете сделать что-то вроде этого.

Это часть моего JavaScript:

 function sendImgMsg() {
    var fileId=$('#mediaSel').val();//This is the fileId where the image is store.  In my image converter script I keep all of this images in the same folder.
    google.script.run
    .withSuccessHandler(function(fObj){
      var msg=$('#emsg').val();//This is the contents of a textarea
      var hl='<p>' + msg + '</p><br /><strong>File Name:</strong> '+ fObj.name + '<img src="'+ fObj.uri +'" title="' + fObj.filetype + '" />';
      $('#email').css('display','none');
      google.script.run.sendImageMessage(hl);//This is the code that sends the email
    })
    .getSelectedFile(fileId);
  }

Это часть моего HTML:

<div id="email">
   <textarea id="emsg" cols="40" rows="4"></textarea>
   <br /><input type="button" value="Send" onClick="sendImgMsg()" />
</div>

Эточасть моего кода:для imageURI, чтобы я мог хранить их и получать к ним доступ на своем Google Диске.Надеюсь, это поможет.

0 голосов
/ 15 февраля 2019

Вы можете передать HTML в функцию .sendMail().Эта ссылка на официальную документацию включает пример для встроенных изображений!

// This code fetches the Google and YouTube logos, inlines them in an email
// and sends the email
function inlineImage() {
  var googleLogoUrl = "http://www.google.com/intl/en_com/images/srpr/logo3w.png";
  var googleLogoBlob = UrlFetchApp
                         .fetch(googleLogoUrl)
                         .getBlob()
                         .setName("googleLogoBlob");

  //You can also get these images from your drive to attach them.

  var imgBlob = DriveApp.getFileById("<DRIVE_FILE_ID_OF_PICTURE>")
                     .getBlob()
                     .setName("imgBlob");


  MailApp.sendEmail({
    to: "recipient@example.com",
    subject: "Logos",
    htmlBody: "inline Google Logo<img src='cid:googleLogo'> images! <br>" +
              "img from drive: <img src='cid:driveImg'>"
    inlineImages:
      {
        googleLogo: googleLogoBlob,
        driveImg: imgBlob
      }
  });
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...