我尝试将超链接图像添加到电子邮件的末尾。附加pdf并添加图像效果很好,但是我不知道如何对超链接图像执行相同操作。
我以前的来源是:Add Image to Google Sheets email App Scripthttps://developers.google.com/apps-script/reference/mail/mail-app#sendemailmessage
代码:
function emailSend(){
// Auf das aktive Tabellenblatt zugreifen
var ts = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Invoice")
var as = SpreadsheetApp.openById("1ffdhHQC4mpBTy8RzAcgXOrFv_fSXXXd3g1Ajx_EEcLguOvU").getSheetByName("Test")
var is = SpreadsheetApp.openById("138nWL92xj1KTJdfhdh4iaOn_c62o5Qy-YynLFk1kAIky1TUF8").getSheetByName("Tabellenblatt1")
var ks = SpreadsheetApp.openById("afdfd5_s1HQC4mpBTy8RzAcgXOrFv_fSXXXd3g1Ajx_EEcLguOvU").getSheetByName("Kunden")
var getData = Browser.inputBox('Sende Rechnungsemail', 'Schreib: OK', Browser.Buttons.OK_CANCEL);
if (getData != 'cancel')
{
if (getData == 'OK')
{
//Rechnungsverzeichnis
var rechnungen = SpreadsheetApp.openById("1HQC4mpBTy8RzAcgXOrFv_fSXXXd3g1Ajx_EEcLguOvU").getSheetByName("Kundenrechnungen");
var row = 2;
var column = 2;
while(rechnungen.getRange(row, column).getValue() != '')
{
row++;
}
//is.getRange(18,4).setValue(rechnungen.getRange(row,1).getDisplayValue());
rechnungen.getRange(row,column).setValue(new Date);
rechnungen.getRange(row,3).setValue(as.getRange("A3").getValue());
rechnungen.getRange(row,4).setValue(as.getRange("B3").getValue());
rechnungen.getRange(row,5).setValue(as.getRange("C3").getValue());
rechnungen.getRange(row,6).setValue(as.getRange("D3").getValue());
rechnungen.getRange(row,7).setValue(as.getRange("K3").getValue());
rechnungen.getRange(row,8).setValue(as.getRange("L3").getValue());
rechnungen.getRange(row,9).setValue(as.getRange("M3").getValue());
// Den Betreff für die Email aus Zelle B2 auslesen
var betreff = as.getRange("B5").getValue();
// Die Emailadresse für den Empfänger aus Zelle B3 auslesen
//var emailEmpfaengerAdresse = as.getRange("G3").getValues();
var emailEmpfaengerAdresse = "[email protected]";
// Die Nachricht für die Email aus der Zelle B4 auslesen
var nachricht = as.getRange("B6").getValues();
var nachricht = "Hi"+ "<p>" + '<img src="cid:image"><br/>' + "</p>";
//Bild
var blob = UrlFetchApp.fetch("http://example.com/wp-content/uploads/2019/08/email-2.jpg").getBlob();
// Das Tabellenblatt als PDF der Variablen pdf zuweisen
var pdf = DriveApp.getFileById('55435hs1138nWL92xj1KTJiaOn_c62o5Qy-YynLFk1kAIky1TUF8').getAs('application/pdf').getBytes();
// Den Anhang festlegen (Name des Anhangs, Inhalt, Typ)
var anhang = {fileName:(betreff+".pdf"),content:pdf, mimeType:'application/pdf'};
//Nachfrage
// Senden der Email
var nachricht2 = nachricht.replace(/\<br\/\>/gi, '\n').replace(/(<([^>]+)>)/ig, "");
MailApp.sendEmail(emailEmpfaengerAdresse, betreff, nachricht2,{ htmlBody: nachricht, inlineImages: {image:blob }, attachments:anhang});
//Sendung an Selbst
MailApp.sendEmail("[email protected]", (SpreadsheetApp.getActiveSpreadsheet().getRange("B3").getValue()+" "+ SpreadsheetApp.getActiveSpreadsheet().getRange("A3").getValue() + " Rechung"), nachricht, {attachments:[anhang]});
}
}
}
谢谢!
MailApp.sendEmail()
发送电子邮件时,您想在电子邮件上放置带有超链接的图像。如果我的理解是正确的,那么这个答案怎么样?可以使用HTML正文将图像与超链接一起放置。一个简单的示例脚本如下。
在此示例脚本中,将徽标作为带有超链接的图像放置。
var email = "###"; // Please set an email address.
var htmlBody = '<a href="https://stackoverflow.com/company/logos"><img src="https://cdn.sstatic.net/Sites/stackoverflow/company/img/logos/so/so-logo.png" alt="sample" width="30%" height="30%"></a>';
MailApp.sendEmail({to: email, subject: "sample subject", body: "sample body", htmlBody: htmlBody});
GmailApp.sendEmail(email, "sample subject", "sample body", {htmlBody: htmlBody})
一样使用GmailApp。当您修改脚本并将图像放置在HTML正文的最后时,它变成如下。
请在MailApp.sendEmail(emailEmpfaengerAdresse, betreff, nachricht2,{ htmlBody: nachricht, inlineImages: {image:blob }, attachments:anhang});
之前添加以下脚本。
nachricht += '<a href="https://stackoverflow.com/company/logos"><img src="https://cdn.sstatic.net/Sites/stackoverflow/company/img/logos/so/so-logo.png" alt="sample" width="30%" height="30%"></a>';