在共享应用程序中使用MailApp sendEmail

时间:2019-04-01 18:12:22

标签: email send shared

我有一个使用发送邮件功能的Google网络应用程序,它可以工作,但是当用户使用它时,电子邮件是从我的帐户自动发送的,我想知道是否有可能从使用该帐户的帐户发送电子邮件该应用程序。

我最初通过设置来部署应用程序:

  • 以“我(我的帐户)”身份执行该应用程序
  • 有权访问该应用的人:公司域的任何成员

我后来重新配置了应用程序

  • 以以下身份执行该应用:用户访问网络应用
  • 有权访问该应用的人:公司域的任何成员

然后向用户请求了其他权限,每个人都自然接受了,但是应用程序被阻止了。

2 个答案:

答案 0 :(得分:0)

这绝对应该可行,因为有许多应用程序(例如Outreach.io,Hubspot,Autopilot和FrontApp)都具有用户连接其G Suite帐户以便使用该基础结构进行发送的功能。

  1. 您能否进一步解释“应用程序块”的含义?
  2. 从访问Web应用程序的用户更改要发送的电子邮件后,电子邮件发送发生了什么?是否没有更改或是否引发了错误?
  3. 您是否在G Suite或Gmail收件箱中通过网络应用发送了电子邮件副本?如果是这样,您可以转到“显示原始文件”并将标题信息复制粘贴到此线程中吗?此信息将使我能够快速评估有关发送基础结构的更多信息。请注意,“显示原始”信息不能来自转发的电子邮件。

和平, -LB

答案 1 :(得分:0)

项目中挂着一个未使用的库,也是我无法清空某些清单文件的事实,

因此,我从云中删除了整个项目,然后再次重做脚本,对所做的一切非常小心,

最后,我共享了该应用程序,用户终于能够发送从其自己的帐户发送的电子邮件,

非常感谢您的干预,您是对的,我将整个脚本都放在了网上,对其他人可能有用

我只是指定脚本从工作表中选择数据,将其放入表格中,并添加带有动画gif图像的签名,

function sendemail(id) {
  var rw = parseInt(id);
	var agent = Session.getActiveUser().getEmail();
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheetByName("Saisie");
  var des = sheet.getRange(rw,8).getValue();
  var eml = sheet.getRange(rw,9).getValue();
  var dat = Utilities.formatDate(new Date(), "Europe/Paris", "dd/MM/yyyy");
  var typ = sheet.getRange(rw,5).getValue();
  var nbo = sheet.getRange(rw,6).getValue();
  var obj = sheet.getRange(rw,7).getValue();
  var num = sheet.getRange(rw,4).getValue();
  var soc = sheet.getRange(rw,11).getValue();
  var nom = sheet.getRange(rw,12).getValue();
  var adr = sheet.getRange(rw,13).getValue();
  var vil = sheet.getRange(rw,14).getValue();
  var pay = sheet.getRange(rw,15).getValue();
  var company = DriveApp.getFileById('abcd').getBlob().setName("company");
  var departement = DriveApp.getFileById('abcd').getBlob().setName("company");
  var userName = getUserInfo(agent);
  var msg = '<html><head><meta charset="utf-8">' +
  '<style>table{border-collapse:collapse;}td{border: 1px solid black;padding-left:4px;}.tete{background-color:#f6f6f6;text-align:center;}.titre {background-color:#ebffce;}</style>' +
  '</head><body>Bonjour,<br><br><table style="width:100%;"><tr><td colspan="2" class="tete">Réception d&apos;objet à l&apos;attention de « <span style="color:#0900c6;">'+ des + '</span> »</td></tr>' +
  '<tr><td width="140" width class="titre">Date de réception</td><td>'+ dat +'</td></tr>' +
  '<tr><td class="titre">Objet & Nombre</td><td>'+ obj + ' - ' + nbo + '</td></tr>' +
	'<tr><td class="titre">Type Transport</td><td>'+ typ + '</td></tr>' +
  '<tr><td class="titre">N° Transport</td><td>'+ num +'</td></tr>' +
  '<tr><td colspan="2" class="tete">Info Expéditeur</td></tr>' +
  '<tr><td class="titre">Société</td><td>'+ soc +'</td></tr>' +
  '<tr><td class="titre">Collaborateur</td><td>'+ nom +'</td></tr>' +
  '<tr><td class="titre">Adresse</td><td>'+ adr +'</td></tr>' +
  '<tr><td class="titre">Ville - Pays</td><td>'+ vil + ' ' + pay + '</td></tr></table><br>' +
  'Cordialement, '+ userName +' - Service Courrier.<br><br>' +
  '<table style="border-collapse:collapse;"><tr>' +
  '<td rowspan="2" style="text-align:center;border: 1px solid black;"><img src="cid:logocompany"></td>' +
  '<td  style="text-align:center;border: 1px solid black;"><img src="cid:logodepartement"></td>' +
  '</tr><tr><td style="text-align:center;border: 1px solid black;padding:4px;"><div style="text-align:center;">' +
  '12 Place de la République - 75123 Paris Cedex 10<br>Tél. : 02 44 44 44 44  -  Fax : 02 55 55 55 55<br>Email : <a href="mailto:'+agent+'">'+agent+'</a></div></td></tr></table></body></html>';
  MailApp.sendEmail({
    to: eml,
    subject: "Message Automatique Service Courrier",
    htmlBody: msg,
    inlineImages:{
      logocompany: company,
      logodepartement:departement
    }
  });
}