UNPKG

gas-types-detailed

Version:

Detailed Google Apps Script Type Definitions. Forked from Definitely Typed @types/google-apps-script. Adds full documentation and urls.

127 lines (118 loc) 5.76 kB
// Type definitions for Google Apps Script 2023-10-28 // Project: https://developers.google.com/apps-script/ // Definitions by: motemen <https://github.com/motemen/> // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped /// <reference path="google-apps-script.types.d.ts" /> declare namespace GoogleAppsScript { namespace Mail { /** * Sends email. * * This service allows users to send emails with complete control over the content of the email. * Unlike GmailApp, MailApp's sole purpose is sending email. MailApp cannot access a user's Gmail * inbox. * * Changes to scripts written using GmailApp are more likely to trigger a re-authorization * request from a user than MailApp scripts. */ interface MailApp { /** * Returns the number of recipients you can send emails to for the rest of the day. The returned * value is valid for the current execution and might vary between executions. * * * Quotas are based on the number of email recipients. For specific quota information, see Quotas for Google * Services. * * * var emailQuotaRemaining = MailApp.getRemainingDailyQuota(); * Logger.log("Remaining email quota: " + emailQuotaRemaining); * https://developers.google.com/apps-script/reference/mail/mail-app#getRemainingDailyQuota() */ getRemainingDailyQuota(): Integer; /** * Sends an email message. This variation of the method is much more flexible, allowing for many * more options. * * * // This code fetches the Google and YouTube logos, inlines them in an email * // and sends the email * function inlineImage() { * var googleLogoUrl = "https://www.gstatic.com/images/branding/googlelogo/1x/googlelogo_color_74x24dp.png"; * var youtubeLogoUrl = * "https://developers.google.com/youtube/images/YouTube_logo_standard_white.png"; * var googleLogoBlob = UrlFetchApp * .fetch(googleLogoUrl) * .getBlob() * .setName("googleLogoBlob"); * var youtubeLogoBlob = UrlFetchApp * .fetch(youtubeLogoUrl) * .getBlob() * .setName("youtubeLogoBlob"); * MailApp.sendEmail({ * to: "recipient@example.com", * subject: "Logos", * htmlBody: "inline Google Logo<img src='cid:googleLogo'> images! <br>" + * "inline YouTube Logo <img src='cid:youtubeLogo'>", * inlineImages: * { * googleLogo: googleLogoBlob, * youtubeLogo: youtubeLogoBlob * } * }); * } * https://developers.google.com/apps-script/reference/mail/mail-app#sendEmail(Object) * @param message a JavaScript object representing an email message */ sendEmail(message: any): void; /** * Sends an email message. * * * MailApp.sendEmail("recipient@example.com", * "TPS reports", * "Where are the TPS reports?"); * https://developers.google.com/apps-script/reference/mail/mail-app#sendEmail(String,String,String) * @param recipient the addresses of the recipients, separated by commas * @param subject the subject line * @param body the body of the email */ sendEmail(recipient: string, subject: string, body: string): void; /** * Sends an email message with optional arguments. * * * // Send an email with two attachments: a file from Google Drive (as a PDF) and an HTML file. * var file = DriveApp.getFileById('1234567890abcdefghijklmnopqrstuvwxyz'); * var blob = Utilities.newBlob('Insert any HTML content here', 'text/html', 'my_document.html'); * MailApp.sendEmail('mike@example.com', 'Attachment example', 'Two files are attached.', { * name: 'Automatic Emailer Script', * attachments: [file.getAs(MimeType.PDF), blob] * }); * https://developers.google.com/apps-script/reference/mail/mail-app#sendEmail(String,String,String,Object) * @param recipient the addresses of the recipients, separated by commas * @param subject the subject line * @param body the body of the email * @param options a JavaScript object that specifies advanced parameters, as listed below */ sendEmail(recipient: string, subject: string, body: string, options: any): void; /** * Sends an email message. This method allows a user to easily specify a Reply-To address for the * sent message that can differ from the sender. * * * MailApp.sendEmail("recipient@example.com", * "replies@example.com", * "TPS report status", * "What is the status of those TPS reports?"); * https://developers.google.com/apps-script/reference/mail/mail-app#sendEmail(String,String,String,String) * @param to the addresses of the recipients, separated by commas * @param replyTo the reply-to address * @param subject the subject line * @param body the body of the email in plain text */ sendEmail(to: string, replyTo: string, subject: string, body: string): void; } } } declare var MailApp: GoogleAppsScript.Mail.MailApp;