El. laiškų persiuntimas programėlių scenarijuje su failo patvirtinimu

Google Apps Script

El. pašto automatizavimas naudojant programų scenarijų

Automatinis el. pašto persiuntimas „Google Apps Script“ gali žymiai supaprastinti ryšio ir duomenų perdavimo procesus. Tai ypač naudinga dirbant su konkrečiomis „Gmail“ etiketėmis, kai el. laiškai turi būti persiųsti į išorines programas be rankinio įsikišimo. Įprasta problema kyla dėl nepageidaujamų tiesioginių vaizdų, tokių kaip parašai ir antraštės, įtraukiami į šiuos persiuntimus.

Ši problema ne tik užgriozdina persiunčiamus pranešimus, bet ir kelia iššūkį, kai reikia persiųsti tik priedus, pvz., PDF failus. Tokiais atvejais labai svarbu keisti scenarijų, kad būtų galima pasirinktinai persiųsti priedus, išlaikant el. laiškų gijos kontekstą. Šiame straipsnyje bus nagrinėjamas sprendimas, kaip užtikrinti, kad būtų persiunčiami tik reikalingi failai, taip padidinant automatizavimo efektyvumą.

komandą apibūdinimas
GmailApp.getUserLabelByName() Nuskaito etiketę iš naudotojo „Gmail“ paskyros pagal pavadinimą, todėl scenarijai gali veikti su el. laiškais, priskirtais tam tikroms etiketėms.
getThreads() Grąžina gijos objektų masyvą etiketėje, naudojamą kiekvienam „Gmail“ etiketėje esančiam el. pašto pokalbiui apdoroti.
getMessages() Gauna visus el. laiškus, esančius vienoje gijoje, suteikdama išsamią prieigą prie kiekvieno el. laiško turinio ir metaduomenų.
getAttachments() Iš el. laiško ištraukia visus priedus, kuriuos vėliau galima filtruoti, kad būtų persiunčiami tik norimi failų tipai.
GmailApp.sendEmail() Siunčia el. laišką iš vartotojo Gmail paskyros. Jis palaiko išplėstines parinktis, pvz., priedus, CC, BCC ir HTML turinį.
filter() Naudojamas testui taikyti kiekvienam masyvo elementui. Šiame kontekste jis filtruoja priedus, kad surastų tik tuos, kurių turinio tipas yra PDF.

El. pašto persiuntimo tobulinimas naudojant „Google Apps Script“.

Pateikti „Google Apps Script“ pavyzdžiai yra sukurti siekiant patenkinti specifinį poreikį filtruoti ir persiųsti el. laiškus, kurie atitinka tam tikrus kriterijus, šiuo atveju persiunčiant tik PDF priedus ir neįtraukiant įterptųjų vaizdų, tokių kaip parašai ar antraštės. Pirmoji scenarijaus dalis inicijuojama nuskaitant visas el. pašto gijas, susietas su iš anksto nustatyta Gmail etikete. Tai atliekama naudojant komandą „GmailApp.getUserLabelByName()“, kuri paima etiketės objektą, leidžiantį scenarijui veikti visose susijusiose el. pašto gijose. Tada jis kartoja šias gijas, kad pasiektų atskirus pranešimus.

Kiekvienas pranešimas tikrinamas, siekiant nustatyti ir filtruoti priedus naudojant „getAttachments()“ metodą kartu su filtro funkcija, kuri tikrina MIME tipą ir užtikrina, kad būtų įtraukti tik PDF failai. Funkcija „GmailApp.sendEmail()“ naudojama šiems filtruotiems priedams persiųsti. Ši funkcija yra labai svarbi, nes leidžia siųsti el. laiškus programiškai, pridedant failus ir nurodant išplėstinius parametrus, pvz., HTML turinio ir gijos ID, kad būtų išlaikytas el. pašto gijos tęstinumas. Taip užtikrinama, kad persiųsti el. laiškai liktų vykstančio pokalbio dalimi, o tai atitinka vartotojo reikalavimą, kad el. laiškai būtų susieti ir sutelkti tik į atitinkamus priedus.

El. laiškų persiuntimo tobulinimas, kad būtų galima filtruoti priedus „Apps Script“.

„Google Apps“ scenarijaus diegimas

function filterAndForwardEmails() {
  var label = GmailApp.getUserLabelByName("ToBeForwarded");
  var threads = label.getThreads();
  for (var i = 0; i < threads.length; i++) {
    var messages = threads[i].getMessages();
    var lastMessage = messages[messages.length - 1];
    var attachments = lastMessage.getAttachments();
    var filteredAttachments = attachments.filter(function(attachment) {
      return attachment.getContentType() === 'application/pdf';
    });
    if (filteredAttachments.length > 0) {
      forwardMessage(lastMessage, filteredAttachments);
    }
  }
}
function forwardMessage(message, attachments) {
  GmailApp.sendEmail(message.getTo(), message.getSubject(), "", {
    attachments: attachments,
    htmlBody: "<br> Message sent to external app <br>",
    inlineImages: {},
    threadId: message.getThread().getId()
  });
}

Įterptųjų vaizdų neįtraukimas el. pašto persiuntimo procese naudojant programų scenarijų

Scenarijus naudojant „Google Apps Script“.

function setupEmailForwarding() {
  var targetLabel = "ExternalForward";
  var threadsToForward = GmailApp.getUserLabelByName(targetLabel).getThreads();
  threadsToForward.forEach(function(thread) {
    var message = thread.getMessages().pop(); // get the last message
    var pdfAttachments = message.getAttachments().filter(function(file) {
      return file.getContentType() === 'application/pdf';
    });
    if (pdfAttachments.length) {
      sendFilteredEmail(message, pdfAttachments);
    }
  });
}
function sendFilteredEmail(originalMessage, attachments) {
  GmailApp.sendEmail(originalMessage.getTo(), "FWD: " + originalMessage.getSubject(),
    "Forwarded message attached.", {
      attachments: attachments,
      htmlBody: originalMessage.getBody() + "<br> Forwarded with selected attachments only.<br>",
      threadId: originalMessage.getThread().getId()
  });
}

Pažangūs el. pašto tvarkymo būdai „Apps Script“.

Kalbant apie automatinį el. pašto peradresavimą „Google Apps Script“, gali būti labai svarbu suprasti platesnį el. pašto valdymo kontekstą. Vienas svarbus aspektas yra MIME tipų atskyrimas, kuris padeda filtruoti konkrečius failų tipus, pvz., PDF, iš įterptųjų vaizdų. Šis skirtumas yra labai svarbus norint sukurti efektyvius filtrus, neįtraukiančius neesminių priedų. Kitas pažangus metodas apima manipuliavimą el. pašto gijomis, kad ryšiai būtų nuoseklūs ir susieti, o tai labai svarbu palaikant organizuotus el. pašto maršrutus verslo aplinkoje.

Be to, naudojant „Google Apps Script“ el. pašto automatizavimui, galima pritaikyti veiksmus, kurie neapsiriboja paprastu persiuntimu. Pavyzdžiui, scenarijai gali būti sukurti taip, kad automatiškai atsakytų į el. laiškus, generuotų suvestines priedų ataskaitas arba net suskirstytų el. laiškus į skirtingas etiketes pagal jų turinį ar priedo tipą. Dėl tokių galimybių „Google Apps Script“ yra galingas įrankis, skirtas produktyvumui ir darbo eigos efektyvumui tvarkant el.

  1. Kaip pradėti naudoti „Google Apps Script“ el. pašto automatizavimui?
  2. Galite pradėti nuo „Apps Script“ aplinkos prieigos per „Google“ diską, sukurdami naują scenarijų ir naudodami „GmailApp“ paslaugą el. pašto sąveikoms programuoti.
  3. Kas yra MIME tipas ir kodėl jis svarbus?
  4. MIME tipas arba laikmenos tipas yra standartas, nurodantis dokumento, failo ar baitų asortimento pobūdį ir formatą. Labai svarbu apdorojant el. laišką, kad būtų užtikrintas tinkamas skirtingų tipų failų tvarkymas.
  5. Ar galiu „Apps Script“ filtruoti el. laiškus pagal priedo tipą?
  6. Taip, galite naudoti metodą getAttachments() kartu su filtrais, kad patikrintumėte kiekvieno priedo MIME tipą ir atitinkamai juos apdorotumėte.
  7. Kaip išlaikyti persiųstus el. laiškus toje pačioje gijoje?
  8. Naudokite parinktį threadId, esančią GmailApp.sendEmail(), kad nurodytumėte pradinę el. pašto giją, persiunčiamą pranešimą išsaugodami tame pačiame pokalbyje.
  9. Ar programų scenarijus gali tvarkyti kelis priedus skirtingai, atsižvelgiant į tipą?
  10. Taip, galite sukurti scenarijų, kad atskirtumėte priedus pagal jų MIME tipus ir tvarkytumėte kiekvieną tipą skirtingai, pvz., persiųstumėte tik PDF ir nepaisytumėte kitų.

Naudodami „Google Apps Script“ naudotojai gali automatizuoti sudėtingas el. pašto tvarkymo užduotis, konkrečiai pritaikydami persiuntimo procesą, įtraukdami tik būtiniausius priedus, pvz., PDF failus. Šis tikslingas metodas ne tik supaprastina komunikaciją organizacijose ir už jos ribų, bet ir žymiai sumažina rankinio el. pašto valdymo pastangas. Be to, galimybė palaikyti pokalbių gijas nepažeistas pagerina persiųstų pranešimų kontekstinį supratimą, o tai labai svarbu siekiant išlaikyti profesinio bendravimo tęstinumą.