Receive emails from gmail or any other email provider ( IMAP Ruby On Rails )


Configure your gmail for sending emails to other mail clients 

You can retrieve your Gmail messages with a client or device that supports IMAP, like Microsoft Outlook or Apple Mail.

Enable IMAP in your Gmail settings

1. Sign in to Gmail.
2. Click the gear in the top right .
3. Select Settings.
4. Click Forwarding and POP/IMAP.
5. Select Enable IMAP.
6. Click Save Changes.

If you're using a client that's not listed above, you can also use the following information to configure your IMAP. If you have problems, contact your mail client's customer support department for further instructions.

Incoming Mail (IMAP) Server - Requires SSL
imap.gmail.com
Port: 993
Requires SSL:Yes

For more information about imap you can refer that link
https://support.google.com/mail/troubleshooter/1668960?hl=en#ts=1665018%2C1665144

After that go to this url and you will find lots of information for allowing access by device or any mail client:
https://support.google.com/mail/accounts/answer/78754
=> You can find out the screenshot of same thing below that I have followed to get access for my ruby on rails application

1. Allow access to your Google account: 
https://accounts.google.com/b/0/DisplayUnlockCaptcha



2. Access for less secure apps:
https://www.google.com/settings/security/lesssecureapps



After doing all these configurations and setting, we can access the gmail emails using IMAP : 

We are using ruby libraries to fetching emails from gmail  using :
An IMAP client connects to a server, and then authenticates itself using either authenticate() or login().

List sender and subject of all recent messages in the default mailbox

require "net/imap.rb"
imap = Net::IMAP.new('imap.gmail.com',993,true)
# We are using gmail as a mail provider so below mentioned method can be differ as per mail provider
imap.login('test@gmail.com', 'password')
imap.examine('INBOX')
imap.search(["All"]) // Shows all ids of inbox message
imap.search(["All"]) /
imap.search(["RECENT"]).each do |message_id|
  envelope = imap.fetch(message_id, "ENVELOPE")[0].attr["ENVELOPE"]
  body = imap.fetch(message_id,'BODY[TEXT]')[0].attr['BODY[TEXT]']
  puts "#{envelope.from[0].name}: \t#{envelope.subject}"
end


For more information about using imap with ruby you can refer below mentioned link
http://ruby-doc.org/stdlib-1.9.3/libdoc/net/imap/rdoc/Net/IMAP.html


Example: Imap service that fetch the new updated emails from gmail. We are saving id of last gmail mail in database
    
class ImapService
  require "net/imap.rb"

  def initialize(params={})
    @email = params[:email] || 'example@gmail.com'
    @password = params[:password] ||  'testpassword'
    @imap_server = params[:imap_server] ||  'imap.gmail.com'
    @port = params[:port] || 993
    @ssl = params[:ssl] || true
  end

  def save_emails_in_database
    imap = select_inbox
    latest_email = LatestEmail.last
    ## Check that in database we have stored an id of last fetched email or not
    last_email_id = latest_email.email_id rescue nil
    if last_email_id
      ## We will fetch all emails greater than the saved id in database
      new_email_ids = fetch_latest_emails(imap, last_email_id)
      fetch_body_and_save(imap, new_email_ids)
      last_email_id = new_email_ids.last
    else
      last_email_id = fetch_last_email(imap)
    end
    true
    ## Save last_email_id in database 
    if latest_email.blank?
     latest_email = LatestEmail.new(email_id: last_email_id)
    else
     latest_email.email_id=last_email_id
    end
    latest_email.save
  end

  def save_latest_emails_in_database
    begin
     save_emails_in_database
    rescue
      false
    end
  end

  private
    attr_reader :email, :password, :imap_server, :password, :port, :ssl

  # attr_reader :address

  def external_imap_service
    Net::IMAP
  end

  def fetch_latest_emails(imap, last_email_id)
    imap.search("#{last_email_id}:*")
  end

  def fetch_all_emails(imap)
    imap.search("all").last
  end

  def connect_to_imap
    external_imap_service.new(imap_server,port,ssl)
  end

  def select_inbox
    imap = connect_to_imap
    imap.login(email, password)
    imap.examine('INBOX')
    return imap
  end

  def fetch_body_and_save(imap, new_email_ids)
    new_email_ids.each do |email_id|
      body_text = fetch_email_body(imap, email_id)
      ## Save your emails from here :-)
    end
  end

  def fetch_email_body(imap, email_id)
     imap.fetch(email_id,'BODY[TEXT]')[0].attr['BODY[TEXT]']
  end

end





Post a Comment

72 comments:

  1. Site Traffic: As talked about above, it is hard to see how individuals are drawing in with your image through disconnected promoting.ExcelR Digital Marketing Course in Sydney

    ReplyDelete
  2. Thanks for the blog loaded with so many information. Stopping by your blog helped me to get what I was looking for. Haga clic aqui

    ReplyDelete
  3. Thank you because you have been willing to share information with us. we will always appreciate all you have done here because I know you are very concerned with our. Buy Old Gmail Accounts

    ReplyDelete
  4. Great Information sharing .. I am very happy to read this article .. thanks for giving us go through info.Fantastic nice. I appreciate this post. windows iso

    ReplyDelete
  5. thank you for this awesome and informative post www.hotmail.com

    ReplyDelete
  6. This is a fantastic website and I can not recommend you guys enough. Buy Gmail Accounts

    ReplyDelete
  7. I was surfing net and fortunately came across this site and found very interesting stuff here. Its really fun to read. I enjoyed a lot. Thanks for sharing this wonderful information. Buy Old Gmail Accounts

    ReplyDelete
  8. Attend The Data Analytics Course From ExcelR. Practical Data Analytics Course Sessions With Assured Placement Support From Experienced Faculty. ExcelR Offers The Data Analytics Course.
    ExcelR Data Analytics Course

    ReplyDelete
  9. you may still get services popping-up and, any attempts to re-install it or install other security software may be denied. If that is what happens in your case, windows 10

    ReplyDelete
  10. He needs to have a comprehension of the business, items and its utilization. He is relied upon to make a format and structure the site. For future extensions, Digital Market service

    ReplyDelete
  11. lines including promoting, visual depiction, website composition and improvement, Advanced organization administrations cross such a large number of the customary assistance

    ReplyDelete
  12. lines including promoting, visual depiction, website composition and improvement, blog comment service

    ReplyDelete
  13. Portable promoting, radio, TV, electronic boards and significantly more are accessible as showcasing outlets. blog comments service in 1$

    ReplyDelete
  14. that your data is unmistakable to the potential client at the fitting time. In the computerized advertising world, Stationary Design

    ReplyDelete
  15. Experience - What sort of aptitudes and experience does the organization have? To what extent has it been working together? Business Card Design

    ReplyDelete
  16. The next time I read a blog, I hope that it doesnt disappoint me as much as this one. I mean, I know it was my choice to read, but I actually thought you have something interesting to say. All I hear is a bunch of whining about something that you could fix if you werent too busy looking for attention. hotmail-inicio-sesion.com/

    ReplyDelete
  17. We provide a range of packages of Google accounts for sale at a reasonable price. Our bundle begins from $30, which is the least fee for getting the full benefit of Google account. All the Google accounts are manually crafted accounts that are entirely worthy of investing your money. We offer the most reasonably priced applications in the market. Buy aged Gmail Accounts

    ReplyDelete
  18. I would like to say that this blog really convinced me to do it! Thanks, very good post. purple gemstone

    ReplyDelete
  19. This post is very simple to read and appreciate without leaving any details out. Great work! Buy Social Bookmarking

    ReplyDelete
  20. Great Information sharing .. I am very happy to read this article .. thanks for giving us go through info.Fantastic nice. I appreciate this post. garnet ring

    ReplyDelete
  21. You might comment on the order system of the blog. You should chat it's splendid. Your blog audit would swell up your visitors. I was very pleased to find this site.I wanted to thank you for this great read!! hotmail.com

    ReplyDelete
  22. I’m excited to uncover this page. I need to to thank you for ones time for this particularly fantastic read!! I definitely really liked every part of it and i also have you saved to fav to look at new information in your site. hotmail.com

    ReplyDelete
  23. Incredible post yet I was contemplating whether you could make somewhat more with respect to this issue? I'd be grateful for the remote possibility that you could clarify fairly further. Worth it Click Here

    ReplyDelete
  24. Unprecedented article. I believe you will continue having numerous such incredible articles to bestow to us. I acknowledge numerous people will be shocked to scrutinize this article. thank you. Visit Us

    ReplyDelete
  25. Thanks for your post. I've been thinking about forming a genuinely proportional post all through the latest barely any weeks, I'll apparently keep it straightforward and association with this fairly if that cool. See More

    ReplyDelete
  26. This blog site, simply Finding some blog sites, seems an, actually, the magnificent framework you're utilizing. I'm by and by utilizing WordPress for a couple of my online journals yet looking to transform among them over to a framework like yours as a practice. Visit Us

    ReplyDelete
  27. I wished to send you this exceptionally little statement to help say an abundance of thanks over again over the satisfying procedures you have really discussed on this web webpage. This is quite magnanimous of you to make widely unequivocally what an assortment of us could have cost an electronic book. Click Here

    ReplyDelete
  28. Cool stuff you have and you keep overhaul every one of us

    data science course

    ReplyDelete
  29. I have to search sites with relevant information on given topic and provide them to teacher our opinion and the article.

    Simple Linear Regression

    Correlation vs Covariance

    ReplyDelete
  30. Attend The Data Analytics Courses From ExcelR. Practical Data Analytics Courses Sessions With Assured Placement Support From Experienced Faculty. ExcelR Offers The Data Analytics Courses.
    Data Analytics Courses

    ReplyDelete
  31. I am thankful to you for sharing this plethora of useful information. I found this resource utmost beneficial for me. Thanks a lot for hard work. aprenda acessar o Hotmail login agora

    ReplyDelete
  32. Thanks for an interesting blog. What else may I get that sort of info written in such a perfect approach? I have an undertaking that I am just now operating on, and I have been on the lookout for such info.
    Best Data Science training in Mumbai

    Data Science training in Mumbai


    ReplyDelete
  33. Thank you again for all the knowledge you distribute,Good post. I was very interested in the article, it's quite inspiring I should admit. I like visiting you site since I always come across interesting articles like this one.Great Job, I greatly appreciate that.Do Keep sharing! Regards, buy instagram likes uk

    ReplyDelete
  34. It's so great to know you are a writer that cares about the information you provide. This is smartly done and well-written in my opinion.
    SAP training in Kolkata
    SAP training Kolkata
    Best SAP training in Kolkata
    SAP course in Kolkata
    SAP training institute Kolkata

    ReplyDelete
  35. This is a wonderful article, Given so much info in it, These type of articles keeps the users interest in the website, and keep on sharing more ... good luck.

    Simple Linear Regression

    Correlation vs Covariance

    ReplyDelete
  36. Very interesting to read this article.I would like to thank you for the efforts you had made for writing this awesome article. This article inspired me to read more. keep it up.
    Correlation vs Covariance
    Simple linear regression
    data science interview questions

    ReplyDelete
  37. The craving to bring in cash online using social stages is totally typical. So as to accomplish this journey, an ideal blogging framework is required. A sound blogging framework would permit its client to embrace a deliberate way to deal with extinguish his blogging attempts Read More

    ReplyDelete
  38. This is my first time i visit here. I found so many interesting stuff in your blog especially its discussion. From the tons of comments on your articles, I guess I am not the only one having all the enjoyment here keep up the good work entrar hotmail

    ReplyDelete
  39. Really nice and interesting post. I was looking for this kind of information and enjoyed reading this one. Keep posting. Thanks for sharing.
    https://360digitmg.com/tableau-training-in-hyderabad

    ReplyDelete
  40. Positive site, where did u come up with the information on this posting? I'm pleased I discovered it though, ill be checking back soon to find out what additional posts you include. email bulk mail

    ReplyDelete
  41. Such a very useful article. Very interesting to read this article.I would like to thank you for the efforts you had made for writing this awesome article. click here

    ReplyDelete
  42. With an best email extractor software you will be able to build your list much quicker as it will spider its way through various search engines and gather URL's that meet the search based on keywords.

    ReplyDelete
  43. Really nice and interesting post. I was looking for this kind of information and enjoyed reading this one. Keep posting. Thanks for sharing.

    Simple Linear Regression

    Correlation vs covariance

    KNN Algorithm

    Logistic Regression explained

    ReplyDelete
  44. Yahoo mail is an web based email service. Yahoo mail service can be accessed through different devices including computer, tablets, smart phones, and more. Users with a valid Yahoo account can sign into Yahoo com to access the features of Yahoo mail. A smile web browser can be used to sign into Yahoo.com. Users can also download Yahoo app to their mobile phone and login to their account. yahoo mail sign in

    ReplyDelete
  45. buy smart carts online. organic smart cart. are the high potency distillate free from any solvents. If this product was accurate with its claim.

    ReplyDelete
  46. Data Analytics Course Pune wow... what a great blog, this writter who wrote this article it's realy a great blogger, this article so inspiring me to be a better person in some of them hope you will give more information on this topics in your next articles.
    I like viewing web sites which comprehend the price of delivering the excellent useful resource free of charge. I truly adored reading your posting. Thank you!

    ReplyDelete
  47. Stonersdankshop established in 2016 in United States has been the best vape shop exporting vape products online to most vape shops in USA and to vape . big chief extracts

    ReplyDelete
  48. Enrich your experience of online shopping by navigating our Skin Care products including Hair removal products, Facial cleansing brush, Epilators and much ...

    IPL HAIR REMOVER,
    FACIAL BRURSH,
    HAIR TRIMMER,
    MICRODEBRASION,
    BLACKHEAD REMOVER,
    WATERPROOF PORTABLE,

    ReplyDelete
  49. I have to search sites with relevant information on given topic and provide them to teacher our opinion and the article.

    data science interview questions

    ReplyDelete
  50. Royal photo Booths Australia At Royal Booths,we want to make a good impression with you, hence we go above & beyond when it comes to forming that initial relationship with our customers.

    ReplyDelete
  51. At V P Associates Chartered Certified Accountants and Tax Advisor Accountant services, East Grinstead, West Sussex, we more than just respond to your need. Tax Advice

    ReplyDelete
  52. At V P Associates Chartered Certified Accountants and Tax Advisor Accountant services, East Grinstead, West Sussex, we more than just respond to your need. Tax Advice

    ReplyDelete
  53. Our store offers many styles of advanced tpe sex dolls, soft skin made of tpe material, realistic tpe sex dolls to achieve your desire for sex.Buy real realistic tpe ... realistic sex doll

    ReplyDelete
  54. I am looking for and I love to post a comment that "The content of your post is awesome" Great work!

    Simple Linear Regression

    Correlation vs Covariance

    ReplyDelete
  55. very well explained .I would like to thank you for the efforts you had made for writing this awesome article. This article inspired me to read more. keep it up.
    Simple Linear Regression
    Correlation vs covariance
    data science interview questions
    KNN Algorithm
    Logistic Regression explained

    ReplyDelete
  56. In the realm of web advertising, an email list is a very significant resource. In the event that a web advertiser can persuade you to give him your email, at that point he can send arrangements and items to you constantly and possibly rake in boatloads of cash off of you. CBT Mass Email Sender Software

    ReplyDelete
  57. Can moving make you happier

    But sometimes, simply moving home or location isn’t the answer you hoped it would be. If you are a frequent mover and you struggle to settle anywhere, it may be worth asking yourself if it’s always the place that’s wrong, or is the issue a little closer to home (excuse the pun!)?

    ReplyDelete
  58. Journey to San Diego: ups and downs


    The day when I planned to move to San Diego, due to my endeavors and job issues. It was the day, where I knew how things would go after we would travel. I’ve been reading about the city before I finally decided to move to San Diego. The first thing that fascinated me about San Diego was the different climate seasons San Diego has.

    ReplyDelete
  59. hiring movers in California

    So, you have decided to take a step ahead and make the very difficult decision of your life that is to relocate or plan a move. This will be the most stressful time you will ever have if you haven’t planned it properly. If you’re planning to move your house or business to an entirely new state or place then you must be cautious about how you will take the things and most importantly, how will you carry them? Right, if yes then choosing the right moving company is what you have to do.

    ReplyDelete
  60. hiring movers in California

    So, you have decided to take a step ahead and make the very difficult decision of your life that is to relocate or plan a move. This will be the most stressful time you will ever have if you haven’t planned it properly. If you’re planning to move your house or business to an entirely new state or place then you must be cautious about how you will take the things and most importantly, how will you carry them? Right, if yes then choosing the right moving company is what you have to do.

    ReplyDelete
  61. 5 effective ways in which you can promote your business

    Every other business owner wants to showcase that their business is the best and they can deliver the best products and services and all they want is to put their services in front of the potential customers. However, there are many traditional ways in which one can promote business but all these traditional ways of promoting can indeed be strenuous and costly......

    ReplyDelete
  62. Latest News Dental Success Blo

    Townie News Wire. Events. Upcoming Events Townie Webinars. More. Free e-Books Townie Poll Townie Perks Student Membership · Download .Most Active Blogs. Skip Navigation ... Dentaltown Learning Online. By Howard ... 11/6/2018 · Dental Success Blog ... The Best Practices Show with Kirk Behrendt.

    ReplyDelete
  63. Attend The Data Science Training Bangalore From ExcelR. Practical Data Science Training Bangalore Sessions With Assured Placement Support From Experienced Faculty. ExcelR Offers The Data Science Training Bangalore.
    Data Science Training Bangalore

    ReplyDelete
  64. Hello I am so delighted I located your blog, I really located you by mistake, while I was watching on google for something else, Anyways I am here now and could just like to say thank for a tremendous post and a all round entertaining website. Please do keep up the great work. facebook email extractor address

    ReplyDelete
  65. Outstanding article! I want people to know just how good this information is in your article. Your views are much like my own concerning this subject. I will visit daily your blog because I know. It may be very beneficial for me. send 500 emails at once

    ReplyDelete

  66. Thank you for sharing the article. The data that you provided in the blog is informative and effective.

    Tableau Training in Hyderabad

    ReplyDelete