Ce protocole n'est l'utilisation de Google pour Gmail? (pas d'IMAP ou POP)
Vous pouvez accéder à gmail, soit à l'aide de l'interface web, Google Android client ou à l'aide du protocole IMAP. Aussi loin que je peux dire, l'interface web et l'application Android utilise un tout autre protocole que IMAP, ils ne sont pas simplement des interfaces sur le dessus de cela. La raison pour laquelle je suis sûr que c'est parce que l'application Android peut sans problème ouvrir un dossier avec 1m de messagerie dans < 3 secondes. Pas de plaine client IMAP peut le faire.
Donc ma question est ce qui est connu au sujet de ce protocole secret? Où est la documentation de référence? Il a été à l'ingénierie inverse? Est-ce que Google sanction de son utilisation?
arnt réponse fournit une excellente méthode pour tester gmail premières de l'imap de vitesse:
$ openssl s_client -host imap.gmail.com -port 993 -crlf
...
* OK Gimap ready for requests from 12.34.56.78
$ a LOGIN ***@*** ***
a OK
$ c SELECT "[Gmail]/All mail" !!!!
* FLAGS (\Answered \Flagged \Draft \Deleted \Seen)
* OK [PERMANENTFLAGS (\Answered \Flagged \Draft \Deleted \Seen \*)] Flags permitted.
* OK [UIDVALIDITY 673376278] UIDs valid.
* 1142417 EXISTS
* 0 RECENT
* OK [UIDNEXT 1159771] Predicted next UID.
* OK [HIGHESTMODSEQ 8670601]
c OK [READ-WRITE] [Gmail]/All mail selected. (Success)
La commande que j'ai marqué, c SELECT "[Gmail]/All mail"
prend environ 20 secondes pour terminer. Depuis que le temps est plus grand qu'il n'en faut pour l'application GMail sur mon relativement peu puissants téléphone Android pour le démarrage et charge le libellé Tous les messages qui ne il en moins de 6 secondes, même après que j'ai purgé de ses caches. Le client web est encore plus rapide.
À moins que je suis absent quelque chose de base, cela prouve "au-delà de tout doute raisonnable" que Google GMail clients de ne pas utiliser IMAP, car vous ne jamais avoir à attendre 20 secondes pour toute commande SELECT pour valider.
Oui. IMAP, les performances se dégradent pour les énormes boîtes aux lettres. Gmail peut montrer la plus récente de 50 threads dans une boîte aux lettres avec 1 million de mails dans < 3 secondes. Aucun autre client IMAP peut le faire. Il y a plus de signes révélateurs de la non-imapness dans Gmail, mais c'est ot pour cette question.
Je crois que vous avez deux options pour le comprendre puis - démonter de leur client ou de configurer le périphérique pour aller en WiFi sur votre ordinateur et vérifier quelles sont les ports de destination.
Je ne pense pas que l'Application Gmail est l'aide du protocole POP ou IMAP, comme je l'ai désactiver tous les deux, mon téléphone Android peut encore recevoir des e-mail.
Plus tard: une api rest pour gmail a été rendu public: developers.google.com/gmail/api
OriginalL'auteur Björn Lindqvist | 2013-08-31
Vous devez vous connecter pour publier un commentaire.
L'application Android (au moins ceux que j'ai utilisé) l'utilisation d'IMAP. Vous pouvez le vérifier en exécutant Wireshark sur le serveur.
Pourquoi l'application Android est tellement rapide - ce que je sais, c'est qu'il utilise la commande de RECHERCHE pour sélectionner les plus récentes n messages. Les clients de bureau tel que Thunderbird ou Outlook sont beaucoup plus lourdes et télécharger les en-têtes et les métadonnées de chaque message dans le dossier, en dépit des recommandations pour eux de ne pas.
Un smartphone ne dispose pas de ressources suffisantes pour stocker et traiter des millions d'e-mails (bien que plus moderne peut-être y arriver) donc la RECHERCHE de l'approche autorisée rapide d'accès à la messagerie pour les appareils de poche.
De toute façon, Wireshark peut révéler beaucoup de choses sur le comportement des clients et serveurs IMAP. Si vous êtes vraiment curieux, donner un coup de feu. Vous ne pouvez pas le faire si le serveur de Gmail, mais vous pouvez l'essayer sur un autre serveur (par exemple, hMailServer).
Je le sais parce que j'ai travaillé avec IMAP largement - comme je l'ai dit, si vous vous connectez à un serveur et lancez Wireshark sur ce serveur, vous verrez des messages. Et comme je l'ai dit, vous pouvez obtenir un ensemble de messages récents en travaillant avec la commande de RECHERCHE. Si je me souviens bien, Android clients de messagerie utilisent de RECHERCHE en collaboration avec une date condition, afin qu'ils obtiennent quelque chose comme les deux dernières semaines de la poste. Encore une fois, la meilleure façon de comprendre c'est de voir par vous-même dans Wireshark.
Si un client paie attention à la il EXISTE des messages, il peut chercher les plus récents de n messages. Si le serveur du dernier EXISTE 50000, 'x UID RECHERCHE 49000:* sous réserve de sexe recherches pour les messages sur le sexe parmi les plus récentes, mille.
Il existe plusieurs moyens de rechercher des messages récents, trop. Un modseq est peut-être ce que j'avais utiliser gmail. Ou une date clause.
Je ne me souviens pas exactement des commandes, mais autant que je sache, Android utilise de RECHERCHE qui combine les deux dates (2 dernières semaines) et les numéros de séquence. Les Smartphones ont relativement limité des capacités et donc ils récupèrent quelque chose comme la dernière de 25 ou de 50 messages, puis le reste si vous demandez explicitement de plus.
OriginalL'auteur Gigi
Après plus de recherches, j'ai trouvé qu'il existe une API pour GMail: https://developers.google.com/gmail/api/ je ne pense pas que l'API a été libéré lorsque j'ai posté cette question de retour en 2013.
À l'aide de l'API, j'ai créé un programme de démonstration qui récupère les 100 derniers mails d'une étiquette: https://gist.github.com/bjourne/37a9d15b03862003008a1b0169190dbe
La partie correspondante du programme est:
Il répertorie les 100 derniers messages triés par date dans une étiquette (dossier IMAP terminologie), contenant plus de 570k messages.
Sur ma machine, cette boucle prend environ 0,5 - 0,8 secondes. Je peux prétendre en toute confiance que pas de pure client IMAP sur la planète vient même à proximité. Probablement, IMAP ne jamais aller plus vite, parce que c'est un mauvais ajustement de la façon dont Google stocke le courrier interne.
Donc je vais répondre à ma propre question. C'est l'API qu'ils utilisent et ce n'était pas exposé plus tôt.
OriginalL'auteur Björn Lindqvist
"Aucun autre client IMAP capable de faire cela" est une déclaration assez audacieuse, mais un million de messages est un assez grand nombre ainsi. Je vous encourage à donner Trojitá un essai ici. Les Chances sont que la synchronisation initiale sera plutôt lent (il serait de transférer les drapeaux pour que les millions de messages pour des raisons techniques liées à la façon dont l'IMAP drapeaux,
SELECT
,SEARCH
etSTATUS
sont mentionnés), mais, par la suite resynchronizaiton devrait être aussi rapide que l'éclair grâce àESEARCH
,CONDSTORE
etQRESYNC
. Je serais intéressé de savoir comment bien Trojitá fonctionne avec votre configuration -- les coordonnées sont sur la page d'accueil.À votre question -- la plupart des webmails aujourd'hui de fournir une API privée pour leur propre usage. Une architecture typique consiste à transférer des messages à propos de la mise à jour de l'état via JSON, mais il n'y a pas de norme pour le présent et l'interface est prioprietary. Les Chances sont que GMail "app" utilise le même (ou similaire) de la méthode. Vous n'avez pas beaucoup d'options pour vérifier cela, car il est probablement à l'aide de TLS. Avec une interface web, il est trivial de voir le trafic avec un plugin de navigateur, mais pas tellement avec un autonome de l'application Android.
OriginalL'auteur Jan Kundrát
Vous pouvez tester gmail IMAP performance facilement (si vous avez plus d'un million de messages de la boîte aux lettres). Ouvrir une connexion IMAP avec
puis connectez-vous et ouvrez votre boîte de réception.
Ou ouvrir votre allmail case si la boîte de réception n'est pas assez grand (le nom peut varier en fonction de la langue de l'INTERFACE utilisateur):
Si
SELECT
est rapide, mais un client IMAP lent, alors que c'est parce que le client envoie supplémentaires inutiles lent commandes. Beaucoup choisissent de remplir ou mettre à jour une structure de données pour l'ensemble de millions de messages, même s'ils vont afficher seulement 40 messages. C'est le choix des clients, pas d'IMAP lenteur.OriginalL'auteur arnt