6
votes

Besoin d'aide sur la lecture de courriels avec "Mail" Gem dans Ruby

Je fais de l'automatisation en utilisant Watir qui crée un email que j'ai besoin de vérifier. J'ai été signalé sur le joyau du courrier électronique comme étant le moyen le plus simple de le faire.

J'ai ajouté le code suivant et je suis capable d'obtenir le premier email de ma boîte de réception. P>

require 'mail' 
require 'openssl'

Mail.defaults do 
  retriever_method :pop3, :address    => "email.someemail.com", 
                          :port       => 995, 
                          :user_name  => 'domain/username', 
                          :password   => 'pwd', 
                          :enable_ssl => true 
end 

puts Mail.first 


1 commentaires

Watir n'a rien à voir avec votre question. Je ne sais pas comment cela fonctionne, mais je pense que vous devriez essayer de choisir les belles tags.


3 Réponses :


1
votes

On dirait que vous lisez une partie de la Documentation . Mail.all renvoie tous les courriels, y compris lire des emails. Mail.First renvoie le premier non lu. J'imagine que cela reviendrai à nouveau le prochain non lu. Si votre système est contrôlé, vous ne devriez pas avoir à vous soucier de tant d'emails non lus. Si j'étais vous, je l'essais en IRB jusqu'à ce que vous obteniez une poignée dessus, peut-être même construire une classe qui facilite l'utilisation de vous. Bonne chance.

mise à jour: la documentation de la gemme de courrier. Si la mail.First ne renvoie pas un email non lu (tout le temps), alors l'auteur devrait savoir. Vous pouvez soumettre un problème. Je n'utilise pas ce bijou moi-même. J'utilise un gemme Gmail pour tester. xxx


2 commentaires

Avec Mail.First, il récupérit toujours le premier email de la boîte de réception. Il n'a jamais récupéré le premier email non lu depuis la boîte aux lettres.


Je veux aussi seulement obtenir tous les mails non lus. Mais j'ai le même problème: mail.all récupère tous les mails, mail.first le premier (indépendamment de la lecture ou non).



0
votes

Que diriez-vous d'enregistrer l'heure lorsque vous lisez des mails, puis la prochaine fois que vous lisez tous les mails de processus de mails seulement plus tard que cette date? Je sais que c'est une solution de contournement, mais je pense que cela n'est pas pris en charge avec le gemme de courrier. Mailman Gem soutient que, mais elle supprime le courrier une fois que vous le traiterez.


0 commentaires

13
votes

section 6.4.4 du protocole IMAP Indique les différents drapeaux de recherche que vous pouvez utiliser pour Rechercher des messages.

Vous pouvez extraire des nouveaux messages en passant les indicateurs de recherche à la méthode de recherche, comme: xxx

Ce message a également été répondu à un problème sur le courrier GitHub Repo .


0 commentaires