Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function forwardMail() {
- let data = SpreadsheetApp.getActiveSheet().getRange("A2:B11").getValues();
- const forward = (message, email) => {
- return new Promise(resolve => {
- setTimeout(() => {
- let subject = message.getSubject();
- message.forward(email, { subject: subject });
- }, 0);
- });
- };
- const processMessages = (thread, email, label) => {
- let p = Promise.resolve();
- let messages = thread.getMessages();
- for (let y in messages) {
- p = p.then(() => forward(messages[y], email));
- }
- return p.then(() => thread.removeLabel(label));
- };
- const processRow = row => {
- let name = row[0].toString();
- let email = row[1].toString();
- let label = GmailApp.getUserLabelByName(name);
- if (label && email != "") {
- let threads = label.getThreads();
- let p = Promise.resolve();
- for (let x in threads) {
- p = p.then(() => processMessages(threads[x], email, label));
- }
- return p;
- }
- };
- let p = Promise.resolve();
- for (let i in data) {
- p = p.then(() => processRow(data[i]));
- }
- p.then(() => {
- console.log('done');
- });
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement