Class MailApp

MailApp

Envoie un e-mail.

Ce service permet aux utilisateurs d'envoyer des e-mails en contrôlant entièrement leur contenu. Contrairement à GmailApp, MailApp a pour seul objectif d'envoyer des e-mails. MailApp ne peut pas accéder à la boîte de réception Gmail d'un utilisateur.

Les modifications apportées aux scripts écrits à l'aide de GmailApp sont plus susceptibles de déclencher une demande de réautorisation de la part d'un utilisateur que les scripts MailApp.

Méthodes

MéthodeType renvoyéBrève description
getRemainingDailyQuota()IntegerRenvoie le nombre de destinataires auxquels vous pouvez envoyer des e-mails pour le reste de la journée.
sendEmail(message)voidEnvoie un message par e-mail.
sendEmail(recipient, subject, body)voidEnvoie un message par e-mail.
sendEmail(recipient, subject, body, options)voidEnvoie un e-mail avec des arguments facultatifs.
sendEmail(to, replyTo, subject, body)voidEnvoie un message par e-mail.

Documentation détaillée

getRemainingDailyQuota()

Renvoie le nombre de destinataires auxquels vous pouvez envoyer des e-mails pour le reste de la journée. La valeur renvoyée est valide pour l'exécution en cours et peut varier d'une exécution à l'autre.

Les quotas sont basés sur le nombre de destinataires d'e-mails. Pour obtenir des informations spécifiques sur les quotas, consultez Quotas pour les services Google.

const emailQuotaRemaining = MailApp.getRemainingDailyQuota();
Logger.log(`Remaining email quota: ${emailQuotaRemaining}`);

Renvois

Integer : nombre d'e-mails que le script peut encore envoyer.

Autorisation

Les scripts qui utilisent cette méthode nécessitent une autorisation avec un ou plusieurs des scopes suivants :

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

sendEmail(message)

Envoie un message par e-mail. Cette variante de la méthode est beaucoup plus flexible et offre de nombreuses options supplémentaires.

// This code fetches the Google and YouTube logos, inlines them in an email
// and sends the email
function inlineImage() {
  const googleLogoUrl =
      'https://www.gstatic.com/images/branding/googlelogo/1x/googlelogo_color_74x24dp.png';
  const youtubeLogoUrl =
      'https://developers.google.com/youtube/images/YouTube_logo_standard_white.png';
  const googleLogoBlob =
      UrlFetchApp.fetch(googleLogoUrl).getBlob().setName('googleLogoBlob');
  const 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,
    },
  });
}

Paramètres

NomTypeDescription
messageObjectObjet JavaScript représentant un e-mail

Paramètres avancés

NomTypeDescription
attachmentsBlobSource[]Tableau de fichiers à envoyer avec l'e-mail
bccStringListe d'adresses e-mail à mettre en Cci, séparées par une virgule
bodyStringle corps de l'e-mail.
ccStringListe d'adresses e-mail à mettre en copie, séparées par une virgule.
htmlBodyStringSi cette option est définie, les appareils capables d'afficher du code HTML l'utiliseront à la place de l'argument de corps requis. Vous pouvez ajouter un champ inlineImages facultatif dans le corps HTML si vous avez intégré des images à votre e-mail.
inlineImagesObjectObjet JavaScript contenant un mappage de la clé d'image (String) aux données d'image (BlobSource). Cela suppose que le paramètre htmlBody est utilisé et contient des références à ces images au format <img src="cid:imageKey" /> (voir l'exemple).
nameStringle nom de l'expéditeur de l'e-mail. La valeur par défaut est le nom d'utilisateur de l'expéditeur.
noReplyBooleantrue si l'e-mail doit être envoyé depuis une adresse e-mail générique no-reply pour dissuader les destinataires de répondre aux e-mails. Cette option n'est disponible que pour les comptes Google Workspace, et non pour les utilisateurs Gmail.
replyToStringAdresse e-mail à utiliser comme adresse de réponse par défaut (par défaut : adresse e-mail de l'utilisateur). Si noReply est défini sur true, replyTo est ignoré.
subjectStringl'objet de l'e-mail ;
toStringAdresse e-mail du destinataire ou liste d'adresses e-mail séparées par une virgule

Autorisation

Les scripts qui utilisent cette méthode nécessitent une autorisation avec un ou plusieurs des scopes suivants :

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

Voir aussi


sendEmail(recipient, subject, body)

Envoie un message par e-mail.

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

Paramètres

NomTypeDescription
recipientStringles adresses des destinataires, séparées par des virgules ;
subjectStringla ligne d'objet
bodyStringle corps de l'e-mail.

Autorisation

Les scripts qui utilisent cette méthode nécessitent une autorisation avec un ou plusieurs des scopes suivants :

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

sendEmail(recipient, subject, body, options)

Envoie un e-mail avec des arguments facultatifs.

// Send an email with two attachments: a file from Google Drive (as a PDF) and
// an HTML file.
const file = DriveApp.getFileById('1234567890abcdefghijklmnopqrstuvwxyz');
const 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],
    },
);

Paramètres

NomTypeDescription
recipientStringles adresses des destinataires, séparées par des virgules ;
subjectStringla ligne d'objet
bodyStringle corps de l'e-mail.
optionsObjectObjet JavaScript qui spécifie des paramètres avancés, comme indiqué ci-dessous

Paramètres avancés

NomTypeDescription
attachmentsBlobSource[]Tableau de fichiers à envoyer avec l'e-mail (voir l'exemple)
bccStringListe d'adresses e-mail à mettre en Cci, séparées par une virgule
ccStringListe d'adresses e-mail à mettre en copie, séparées par une virgule.
htmlBodyStringSi cette option est définie, les appareils capables d'afficher du code HTML l'utiliseront à la place de l'argument de corps requis. Vous pouvez ajouter un champ inlineImages facultatif dans le corps HTML si vous avez intégré des images à votre e-mail.
inlineImagesObjectObjet JavaScript contenant un mappage de la clé d'image (String) aux données d'image (BlobSource). Cela suppose que le paramètre htmlBody est utilisé et contient des références à ces images au format <img src="cid:imageKey" />.
nameStringNom de l'expéditeur de l'e-mail (par défaut, le nom de l'utilisateur)
noReplyBooleantrue si l'e-mail doit être envoyé depuis une adresse e-mail générique no-reply pour dissuader les destinataires de répondre aux e-mails. Cette option n'est disponible que pour les comptes Google Workspace, et non pour les utilisateurs Gmail.
replyToStringAdresse e-mail à utiliser comme adresse de réponse par défaut (par défaut : adresse e-mail de l'utilisateur)

Autorisation

Les scripts qui utilisent cette méthode nécessitent une autorisation avec un ou plusieurs des scopes suivants :

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

Voir aussi


sendEmail(to, replyTo, subject, body)

Envoie un message par e-mail. Cette méthode permet à un utilisateur de spécifier facilement une adresse de réponse pour le message envoyé, qui peut être différente de celle de l'expéditeur.

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

Paramètres

NomTypeDescription
toStringles adresses des destinataires, séparées par des virgules ;
replyToStringl'adresse de réponse ;
subjectStringla ligne d'objet
bodyStringle corps de l'e-mail en texte brut.

Autorisation

Les scripts qui utilisent cette méthode nécessitent une autorisation avec un ou plusieurs des scopes suivants :

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