|| Marktplaats-meuk. Afdingen mag! ;-) || slotje.com for sale || Dank pven! ||
Vraag
Beste antwoord (via pven op 05-09-2018 11:56)
Ik denk dat je met Google script de mail headers wel kunt uitlezen - en dan via het script de mails verplaatsen/voorzien van labels.
Edit: yup.
Create script for Gmail
[..]
function processInbox() {
// process all recent threads in the Inbox (see comment to this answer)
var threads = GmailApp.search("newer_than:1h");
for (var i = 0; i < threads.length; i++) {
// get all messages in a given thread
var messages = threads[i].getMessages();
for (var j = 0; j < messages.length; j++) {
var message = messages[j];
processMessage(message);
}
}
}
[..]
function processMessage(message) {
var body = message.getRawContent();
if (body.indexOf("X-Custom-Header: some-custom-value") > -1) {
// do stuff with message (e.g. add label)
}
}
[...]
My unproven gut reaction is that google will have something in place to stop users looping through gigs worth of raw email content every minute. So I'd advise to replace " var threads = GmailApp.getInboxThreads();" with " var threads = GmailApp.search("newer_than:1h");" – Rick Jul 31 '15 at 21:06
[ Voor 67% gewijzigd door F_J_K op 05-09-2018 10:06 ]
'Multiple exclamation marks,' he went on, shaking his head, 'are a sure sign of a diseased mind' (Terry Pratchett, Eric)
Alle reacties
Ik denk dat je met Google script de mail headers wel kunt uitlezen - en dan via het script de mails verplaatsen/voorzien van labels.
Edit: yup.
Create script for Gmail
[..]
function processInbox() {
// process all recent threads in the Inbox (see comment to this answer)
var threads = GmailApp.search("newer_than:1h");
for (var i = 0; i < threads.length; i++) {
// get all messages in a given thread
var messages = threads[i].getMessages();
for (var j = 0; j < messages.length; j++) {
var message = messages[j];
processMessage(message);
}
}
}
[..]
function processMessage(message) {
var body = message.getRawContent();
if (body.indexOf("X-Custom-Header: some-custom-value") > -1) {
// do stuff with message (e.g. add label)
}
}
[...]
My unproven gut reaction is that google will have something in place to stop users looping through gigs worth of raw email content every minute. So I'd advise to replace " var threads = GmailApp.getInboxThreads();" with " var threads = GmailApp.search("newer_than:1h");" – Rick Jul 31 '15 at 21:06
[ Voor 67% gewijzigd door F_J_K op 05-09-2018 10:06 ]
'Multiple exclamation marks,' he went on, shaking his head, 'are a sure sign of a diseased mind' (Terry Pratchett, Eric)
Google script ... ik ga eens kijken of ik daar aan uit kom. Top, dank voor het voorbeeld!
Hm, met mijn programmeer-skills valt het niet mee om dit werkend te krijgen. Iemand tips?
Volgens mij is het gelukt:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
| function processInbox() { // process all recent threads in the Inbox (label is inbox, mail is unread) var threads = GmailApp.search("label:inbox is:unread"); // get the id for the label var label = GmailApp.getUserLabelByName("@Zut/label"); for (var i = 0; i < threads.length; i++) { var messages = threads[i].getMessages(); for (var j = 0; j < messages.length; j++) { var message = messages[j]; var body = message.getRawContent(); // when the mail is from mail.xyz.nl add the label to it and archive it (unset inbox-label) if (body.indexOf("Received: from mail.xyz.nl") > -1) { label.addToThread(threads[i]); threads[i].moveToArchive(); } } } } |
[ Voor 84% gewijzigd door pven op 05-09-2018 11:57 ]
|| Marktplaats-meuk. Afdingen mag! ;-) || slotje.com for sale || Dank pven! ||
Ook: afhankelijk van hoe je werkt kunnen ook stokoude mails weer unread zijn. Ik bleek er nog een uit 2012 op unread te hebben
'Multiple exclamation marks,' he went on, shaking his head, 'are a sure sign of a diseased mind' (Terry Pratchett, Eric)