Jai transféré une de mes très anciennes adresses e-mail à Gmail. Je « souhaiterais créer un filtre afin que tout e-mail adressé à cette ancienne adresse soit toujours correctement étiqueté dans Gmail.
Je peux créer un filtre Gmail avec le « À: » contenant cette adresse, mais cela ne prend pas tous les e-mails à cette adresse, seulement ceux Souvent, il y a des spams dont quelquun dautre est le destinataire explicite, et mon ancienne adresse était simplement Cci « d. Le filtre «À:» ne fonctionne pas.
Ce que jaimerais aimer faire est de filtrer sur len-tête «Delivered-To:». Est-ce possible avec Gmail ou suis-je coincé avec les trois options standard De, À, Objet?
Commentaires
- Connexes: Créer un filtre Gmail pour les notifications dagenda
Réponse
Oui, vous pouvez filtrer par livré à. Créez simplement un nouveau filtre avec deliveredto:[email protected]
dans le champ has the words
.
Commentaires
- Pas très intuitif, mais oui. Je pense que la plupart des
to:
devraient êtredeliveredto:
en fait, pour prendre en charge les BCC. - Cela a-t-il également fonctionné avec des caractères génériques, pour exemple, en utilisant une adresse e-mail fourre-tout dans
deliveredto:*@mydomain.com
? Jessaye, mais le test prendra du temps. - Notez que vous pouvez utiliser la barre de recherche en haut de GMail pour créer votre recherche avancée, puis cliquez sur la flèche à la fin de la barre de recherche et sélectionnez » Créez un filtre avec cette recherche. »
- Cela ne résout pas le problème des en-têtes autres que Livré à ? (Dites une recherche pour les en-têtes Soumis automatiquement ou Priorité)
- Il ‘ est assez odieux que le texte den-tête soit » Livré à: » tandis que le champ » a » élimine le champ ‘ – ‘ pour donner » livré à: « .
Réponse
Voici une liste de tous les opérateurs avancés:
de:
à:
sujet:
OU
– (trait dunion)
étiquette:
a: pièce jointe
liste:
nom de fichier:
« » (guillemets)
()
dans: nimporte où
dans: boîte de réception
dans: corbeille
dans: spam
est: important
est: suivi
est: non lu
est: lu
a: étoile jaune
a: étoile rouge
a: étoile orange
a: étoile verte
a: blue-star
a: purple-star
a: red-bang
a: orange-guillemet
a: yellow-bang
a: green- vérifier
a: info-bleue
a: question-violette
cc:
bcc:
après:
avant:
plus ancien:
plus récent:
old_than:
newer_than:
est: chat
livré à:
cercle:
a: cercle
catégorie:
taille:
plus grand:
plus petit:
+ (signe plus)
rfc822msgid:
a: userlabels
a: nouserlabels
[ source ]
Commentaires
- Merci. Même leurs pages rendent difficile de déterminer si un opérateur NOT
-
fonctionnerait avec des adresses génériques, par exemple:-*@mydomain.com
dans leTo:
champ
Réponse
- aller à https://script.google.com et créez un nouveau script Google Apps
-
sélectionnez loption « Créer un script pour Gmail »
- cela créera un projet de script
- cela créera un script appelé
Code.gs
- cela créera des exemples de fonctions, lune delles nommée
processInbox
-
enregistrez le projet
- personnalisez le script et testez-le jusquà ce que vous soyez satisfait
-
trouver le bouton de déclenchement du « projet personnalisé » «
- cela vous permettra dexécuter le script sur une minuterie (par exemple, tous les jours, ou toutes les minutes )
Exemple:
processInbox
Cette fonction effectuera une itération sur tous les messages de la boîte de réception.
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); } } }
Allez plus loin et appelez GmailApp.search()
si vous voulez faire quelque chose dextraordinaire au lieu de GmailApp.getInboxThreads()
.
processMessage
Cette fonction se chargera de traiter un seul message; vous obtenez le contenu brut avec getRawContent()
et essayez de trouver votre en-tête là-dedans, sil y est, marquez le 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) } }
Commentaires
- Ma réaction instinctive non prouvée est que Google aura quelque chose en place pour arrêter les utilisateurs boucle à travers des concerts dune valeur de contenu de courrier électronique brut chaque minute. Je ‘ vous conseille donc de remplacer » var threads = GmailApp.getInboxThreads (); » avec » var threads = GmailApp.search ( » newer_than: 1h « ); »
- Jutilise
var MyEmails = GmailApp.search("is:unread in:inbox");
pour rechercher tous les e-mails de la boîte de réception qui ne sont pas encore lus - @Rick – Jai écrit un script qui utilise linterface IMAP pour parcourir les 13 + Go de mon compte gmail. ‘ Ne me ‘ me surprendrait pas si script.google.com lautorisait.
- Pour le bénéfice de tous à ceci comme jessayais de faire exactement ceci, vous pouvez ‘ t ajouter une étiquette à un message, uniquement au fil, donc vous ‘ ll faut faire
message.getThread().addLabel(GMailApp.getUserLabelByName("Some Label"))
- Vous pouvez obtenir len-tête du message, ce qui pourrait être mieux que de rechercher dans le corps, en particulier pour les messages avec des pièces jointes.
Réponse
Vous pouvez utiliser lopérateur deliveredto:
dans Has the words
lors de la création dun filtre, comme indiqué par @mvime. Cependant, tous les fournisseurs de messagerie najoutent pas Delivered-to
à len-tête de le-mail. Un moyen plus fiable consiste donc à transférer [email protected]
vers [email protected]
et filtrer par deliveredto:([email protected])
.