Sauvegardez vos emails au format PDF dans Google Drive
Gagner en organisation et en sécurité
Avec ce script Google Apps Script, vous pouvez facilement sauvegarder vos emails Gmail importants au format PDF dans Google Drive. Cette solution vous permet de :
- Conserver vos emails de manière durable et accessible. Les fichiers PDF sont un format universel et stable, parfaits pour l’archivage.
- Libérer de l’espace de stockage dans Gmail. En supprimant les emails dont vous avez sauvegardé une copie PDF, vous optimisez l’utilisation de votre quota Gmail.
- Retrouver facilement vos emails importants. Vous pouvez organiser vos fichiers PDF par date, par sujet, ou par tout autre critère pertinent.
Fonctionnement du script
Le script recherche les emails portant le libellé « PDF » dans Gmail. Il les convertit ensuite en fichiers PDF et les sauvegarde dans un dossier spécifié dans Google Drive. Le script supprime ensuite le libellé « PDF » des emails pour éviter les doublons.
Configuration du script
- Modifiez le code du script.
- Modifiez le nom du libellé Gmail (par défaut « PDF ») si nécessaire.
- Indiquez le nom du dossier Google Drive où seront sauvegardés les fichiers PDF.
- Exécutez le script.
- Ouvrez le script dans Google Apps Script.
- Cliquez sur le bouton « Exécuter ».
Avantages de l’utilisation de ce script
- Simple et automatisé. Le script s’occupe de tout le travail, vous n’avez qu’à le lancer.
- Personnalisable. Vous pouvez adapter le script à vos besoins spécifiques.
- Sécurité et confidentialité. Vos données restent confidentielles et ne sont jamais transmises à des tiers.
Conclusion
Ce script est un outil puissant pour organiser et sauvegarder vos emails Gmail. En quelques clics, vous pouvez convertir vos emails importants en fichiers PDF durables et accessibles.
Le script
Vous pouvez copier le script :
/**
* Sauvegarde les e-mails de Gmail au format PDF dans Google Drive.
* Les e-mails sont recherchés en utilisant le libellé "PDF" dans Gmail.
* Les fichiers PDF sont créés et archivés dans un dossier spécifié dans Google Drive.
*
* Auteur: Fabrice Faucheux
* Licence: GPLv3 (http://www.gnu.org/licenses/gpl-3.0.html)
*/
function sauvegarderGmailEnPDF() {
const libelleGmail = "PDF";
const dossierDrive = "Gmail > PDF";
const compte = Session.getActiveUser().getEmail();
let conversations = GmailApp.search("in:" + libelleGmail, 0, 5);
if (conversations.length > 0) {
/* Dossier Google Drive où les fichiers seront sauvegardés */
var dossiers = DriveApp.getFoldersByName(dossierDrive);
var dossier = dossiers.hasNext() ?
dossiers.next() : DriveApp.createFolder(dossierDrive);
/* Libellé Gmail contenant les emails à sauver */
var label = GmailApp.getUserLabelByName(libelleGmail) ?
GmailApp.getUserLabelByName(libelleGmail) : GmailApp.createLabel(dossierDrive);
for (var t=0; t<conversations.length; t++) {
conversations[t].removeLabel(label);
var msgs = conversations[t].getMessages();
var html = "";
var piecesJointes = [];
var sujet = conversations[t].getFirstMessageSubject();
/* Ajout de toutes les conversations d'un message dans un document HTML */
for (var m=0; m<msgs.length; m++) {
var msg = msgs[m];
try {
var laDate = LanguageApp.translate(msg.getDate(), 'en', 'fr');
} catch (e) {
var laDate = "non définie";
}
var laDate = LanguageApp.translate(msg.getDate(), 'en', 'fr');
html += "Source : GMail - Messagerie du compte " + compte + "<br />" + "<br />";
html += "De: " + msg.getFrom() + "<br />";
html += "A: " + msg.getTo() + "<br />";
html += "Date: " + laDate + "<br />";
html += "Sujet: " + msg.getSubject() + "<br />" + "<br />";
html += "<hr />";
html += msg.getBody().replace(/<img[^>]*>/g,"");
html += "<hr />";
var atts = msg.getAttachments();
for (var a=0; a<atts.length; a++) {
piecesJointes.push(atts[a]);
}
}
/* Sauvegarde des fichiers joints et création des liens dans le pied de page du document. */
if (piecesJointes.length > 0) {
var piedDePage = "<strong>Pièces jointes:</strong><ul>";
for (var z=0; z<piecesJointes.length; z++) {
var fichier = dossier.createFile(piecesJointes[z]);
piedDePage += "<li><a href='" + fichier.getUrl() + "'>" + fichier.getName() + "</a></li>";
}
html += piedDePage + "</ul>";
}
/* Convertir les fils de discussion en fichier PDF */
var fichierTemporaire = DriveApp.createFile("temp.html", html, "text/html");
dossier.createFile(fichierTemporaire.getAs("application/pdf")).setName(sujet + ".pdf");
fichierTemporaire.setTrashed(true);
}
}
}
N’hésitez pas à me contacter si vous avez des questions ou si vous souhaitez obtenir de l’aide pour configurer le script.