Ik “heb een van mijn echt oude e-mailadressen doorgestuurd naar Gmail. Ik” zou graag een filter willen maken zodat alle e-mail naar dat oude adres altijd correct gelabeld in Gmail.
Ik kan een Gmail-filter maken met de “Aan:” met dat adres, maar dat vangt alle e-mails naar dat adres niet op, alleen die die expliciet worden geadresseerd. Vaak is er spam waarbij iemand anders de expliciete ontvanger is, en mijn oude adres was gewoon Bcc “d. Het “Aan:” -filter werkt niet.
Wat ik graag zou willen doen, is filteren op de “Delivered-To:” -kop. Is dat mogelijk met Gmail of zit ik vast aan de drie standaardopties Van, Aan, Onderwerp?
Reacties
- Gerelateerd: Maak een Gmail-filter voor agendameldingen
Antwoord
Ja, u kunt filteren op afgeleverd bij. Maak gewoon een nieuw filter met deliveredto:[email protected]
in het has the words
veld.
Opmerkingen
- Niet erg intuïtief, maar ja. Ik denk dat de meeste
to:
eigenlijkdeliveredto:
zouden moeten zijn om BCCs te ondersteunen. - Heeft dit ook gewerkt met jokertekens, want gebruik je bijvoorbeeld een catch-all e-mailadres -adres in
deliveredto:*@mydomain.com
? Ik probeer het, maar het zal even duren om het te testen. - Merk op dat je de zoekbalk bovenaan Gmail kunt gebruiken om je geavanceerde zoekopdracht samen te stellen, klik vervolgens op de pijl aan het einde van de zoekbalk en selecteer ” Maak een filter met deze zoekopdracht. ”
- Dit lost het probleem niet op voor andere headers dan Delivered-To ? (Zeg een zoekopdracht voor de automatisch verzonden of voorrangskoppen)
- Het ‘ is behoorlijk irritant dat de koptekst ” Delivered-To: ” terwijl het ” ” veld elimineert het ‘ – ‘ om ” te leveren aan: “.
Answer
Hier is een lijst van alle geavanceerde operators:
van:
naar:
onderwerp:
OF
– (koppelteken)
label:
heeft: bijlage
lijst:
bestandsnaam:
“” (aanhalingstekens)
()
in: overal
in: inbox
in: prullenbak
in: spam
is: belangrijk
is: met ster
is: ongelezen
is: gelezen
heeft: gele ster
heeft: rode ster
heeft: oranje ster
heeft: groene ster
heeft: blauwe ster
heeft: paarse ster en heeft: rood-knal
heeft: oranje-guillemet
heeft: gele-knal
heeft: groen- controleer
heeft: blauw-info
heeft: paars-vraag
cc:
bcc:
na:
voor:
ouder:
nieuwer:
ouder_ dan:
nieuwer dan:
is: chat
geleverd aan:
cirkel:
heeft: cirkel
categorie:
grootte:
groter:
kleiner:
+ (plusteken)
rfc822msgid:
heeft: userlabels
has: nouserlabels
[ source ]
Reacties
- Bedankt. Zelfs hun paginas maken het moeilijk om te bepalen of een NOT-operator
-
zou werken met jokertekens, bijvoorbeeld:-*@mydomain.com
in deTo:
veld
Antwoord
- ga naar https://script.google.com en maak een nieuw Google Apps-script
-
selecteer de optie “Script voor Gmail maken”
- hierdoor wordt een scriptproject gemaakt
- hierdoor wordt een script gemaakt met de naam
Code.gs
- dit zal voorbeeldfuncties maken, een met de naam
processInbox
-
sla het project op
- pas het script aan en test het totdat je tevreden bent
-
zoek de “triggers” -knop van het “aangepast project”
- hiermee kun je het script uitvoeren op een timer (bijv. dagelijks, of elke minuut )
Voorbeeld:
processInbox
Deze functie herhaalt alle berichten in de Inbox.
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); } } }
Ga een stap verder en bel GmailApp.search()
als je iets speciaals wilt doen in plaats van GmailApp.getInboxThreads()
.
processMessage
Deze functie zorgt voor het verwerken van een enkel bericht; je krijgt de onbewerkte inhoud met getRawContent()
en je probeert je koptekst daar te vinden, als die erin staat, tag dan het bericht.
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) } }
Reacties
- Mijn onbewezen onderbuikreactie is dat Google iets zal hebben om gebruikers te stoppen elke minuut door optredens aan onbewerkte e-mailinhoud doorlopen. Dus ik ‘ adviseer om ” var threads = GmailApp.getInboxThreads (); ” met ” var threads = GmailApp.search (” newer_than: 1h “); ”
- Ik gebruik
var MyEmails = GmailApp.search("is:unread in:inbox");
om alle e-mail in de inbox te doorzoeken die nog niet is gelezen - @Rick – Ik heb een script geschreven dat de IMAP-interface gebruikt om door alle 13 + GB in mijn gmail-account te lopen. ‘ Zou me niet ‘ niet verrassen als script.google.com het toestond.
- Ten behoeve van iedereen die komt op deze manier alsof ik precies dit probeerde te doen, kun je ‘ geen label aan een bericht toevoegen, alleen aan de thread, dus je ‘ Ik moet
message.getThread().addLabel(GMailApp.getUserLabelByName("Some Label"))
- Je kunt de koptekst van het bericht krijgen, dat zou beter kunnen zijn dan door de hoofdtekst te zoeken, vooral voor berichten met bijlagen.
Answer
Je kunt de deliveredto:
operator gebruiken in de Has the words
veld bij het aanmaken van een filter, zoals @mvime aangaf. Niet alle e-mailproviders voegen echter Delivered-to
toe aan de e-mailheader, dus een betrouwbaardere manier is om [email protected]
door te sturen naar [email protected]
, en filter op deliveredto:([email protected])
.