Class MailApp

MailApp

Envia e-mails.

Esse serviço permite que os usuários enviem e-mails com controle total sobre o conteúdo do e-mail. Ao contrário do GmailApp, a única finalidade do MailApp é enviar e-mails. O MailApp não consegue acessar a caixa de entrada do Gmail de um usuário.

As alterações em scripts gravados com o GmailApp têm mais chances de acionar uma solicitação de nova autorização de um usuário do que os scripts do MailApp.

Métodos

MétodoTipo de retornoBreve descrição
getRemainingDailyQuota()IntegerRetorna o número de destinatários para os quais você pode enviar e-mails até o fim do dia.
sendEmail(message)voidEnvia uma mensagem de e-mail.
sendEmail(recipient, subject, body)voidEnvia uma mensagem de e-mail.
sendEmail(recipient, subject, body, options)voidEnvia uma mensagem de e-mail com argumentos opcionais.
sendEmail(to, replyTo, subject, body)voidEnvia uma mensagem de e-mail.

Documentação detalhada

getRemainingDailyQuota()

Retorna o número de destinatários para os quais você pode enviar e-mails até o fim do dia. O valor retornado é válido para a execução atual e pode variar entre elas.

As cotas são baseadas no número de destinatários do e-mail. Para informações específicas, consulte Cotas para Serviços do Google.

var emailQuotaRemaining = MailApp.getRemainingDailyQuota();
Logger.log("Remaining email quota: " + emailQuotaRemaining);

Retorno

Integer: o número de e-mails restantes que o script pode enviar.

Autorização

Os scripts que usam esse método exigem autorização com um ou mais dos seguintes escopos:

  • https://www.googleapis.com/auth/script.send_mail

sendEmail(message)

Envia uma mensagem de e-mail. Essa variação do método é muito mais flexível, permitindo muitas outras opções.

// 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
      }
  });
}

Parâmetros

NomeTipoDescrição
messageObjectum objeto JavaScript que representa uma mensagem de e-mail

Parâmetros avançados

NomeTipoDescrição
attachmentsBlobSource[]uma matriz de arquivos para enviar com o e-mail
bccStringuma lista de endereços de e-mail separados por vírgula em Cco
bodyStringo corpo do e-mail
ccStringuma lista de endereços de e-mail separados por vírgulas para colocar em cópia
htmlBodyStringSe definido, os dispositivos capazes de renderizar HTML o usarão em vez do argumento obrigatório do corpo. Você pode adicionar um campo inlineImages opcional no corpo do HTML se tiver imagens inline do seu e-mail
inlineImagesObjectUm objeto JavaScript que contém um mapeamento da chave de imagem (String) para dados de imagem (BlobSource). Isso pressupõe que o parâmetro htmlBody é usado e contém referências a essas imagens no formato <img src="cid:imageKey" /> (confira o exemplo)
nameStringo nome do remetente do e-mail. O padrão é o nome de usuário do remetente.
noReplyBooleantrue se o e-mail precisar ser enviado de um endereço genérico sem resposta para desencorajar os destinatários a responder aos e-mails. Essa opção só está disponível para contas do Google Workspace, não para usuários do Gmail
replyToStringum endereço de e-mail para usar como o endereço para resposta padrão (padrão: o endereço de e-mail do usuário). Se noReply estiver definido como true, replyTo será ignorado.
subjectStringo assunto do e-mail
toStringo endereço de e-mail do destinatário ou uma lista de endereços de e-mail separados por vírgulas para serem os destinatários

Autorização

Os scripts que usam esse método exigem autorização com um ou mais dos seguintes escopos:

  • https://www.googleapis.com/auth/script.send_mail

Veja também


sendEmail(recipient, subject, body)

Envia uma mensagem de e-mail.

MailApp.sendEmail("recipient@example.com",
                  "TPS reports",
                  "Where are the TPS reports?");

Parâmetros

NomeTipoDescrição
recipientStringos endereços dos destinatários, separados por vírgulas
subjectStringlinha de assunto
bodyStringo corpo do e-mail

Autorização

Os scripts que usam esse método exigem autorização com um ou mais dos seguintes escopos:

  • https://www.googleapis.com/auth/script.send_mail

sendEmail(recipient, subject, body, options)

Envia uma mensagem de e-mail com argumentos opcionais.

// 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]
});

Parâmetros

NomeTipoDescrição
recipientStringos endereços dos destinatários, separados por vírgulas
subjectStringlinha de assunto
bodyStringo corpo do e-mail
optionsObjectum objeto JavaScript que especifica parâmetros avançados, conforme listado abaixo

Parâmetros avançados

NomeTipoDescrição
attachmentsBlobSource[]Uma matriz de arquivos para enviar com o e-mail (veja o exemplo).
bccStringuma lista de endereços de e-mail separados por vírgula em Cco
ccStringuma lista de endereços de e-mail separados por vírgulas para colocar em cópia
htmlBodyStringSe definido, os dispositivos capazes de renderizar HTML o usarão em vez do argumento obrigatório do corpo. Você pode adicionar um campo inlineImages opcional no corpo do HTML se tiver imagens inline do seu e-mail
inlineImagesObjectUm objeto JavaScript que contém um mapeamento da chave de imagem (String) para dados de imagem (BlobSource). Isso pressupõe que o parâmetro htmlBody é usado e contém referências a essas imagens no formato <img src="cid:imageKey" />
nameStringo nome do remetente do e-mail (padrão: o nome do usuário)
noReplyBooleantrue se o e-mail precisar ser enviado de um endereço genérico sem resposta para desencorajar os destinatários a responder aos e-mails. Essa opção só está disponível para contas do Google Workspace, não para usuários do Gmail
replyToStringUm endereço de e-mail para ser usado como o endereço para resposta padrão (padrão: o endereço de e-mail do usuário).

Autorização

Os scripts que usam esse método exigem autorização com um ou mais dos seguintes escopos:

  • https://www.googleapis.com/auth/script.send_mail

Veja também


sendEmail(to, replyTo, subject, body)

Envia uma mensagem de e-mail. Esse método permite que um usuário especifique facilmente um endereço de resposta para a mensagem enviada que pode ser diferente do remetente.

MailApp.sendEmail("recipient@example.com",
                  "replies@example.com",
                  "TPS report status",
                  "What is the status of those TPS reports?");

Parâmetros

NomeTipoDescrição
toStringos endereços dos destinatários, separados por vírgulas
replyToStringo endereço para resposta
subjectStringlinha de assunto
bodyStringo corpo do e-mail em texto simples

Autorização

Os scripts que usam esse método exigem autorização com um ou mais dos seguintes escopos:

  • https://www.googleapis.com/auth/script.send_mail