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(‘[email protected]’, ‘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] || '[email protected]'
@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



About the author

Being the CEO and Founder of ClecoTech International, Mr. Ashish Prajapati is dedicated towards his aim of mentoring young startups into a full-fledged businesses. He is helping startups from America, Europe, India, and various other countries through proper guidance and the use of latest technologies to develop their innovation and ideas into definite realities.

Comments

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

  2. 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/

  3. 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

  4. 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

  5. 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

  6. 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

  7. 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

  8. 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

  9. 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

  10. 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

  11. 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

  12. 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

  13. 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

  14. 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

  15. 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!

  16. 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

  17. 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!)?

  18. 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.

  19. 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.

  20. 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.

  21. 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.

  22. 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

  23. seo fastest

    SEO has never been easier with this new and exclusive SEOFASTEST SEO Planner Tool.
    Just drag and drop your favorite packages into the calendar and hit the order button!
    No multiple order processes anymore! Buy backlinks with a click of a button!

  24. Superslot

    ซุปเปอร์สล็อต เราคือผู้ให้บริการสล็อตออนไลน์มีตัวเกมสล็อตให้เลือกเล่นจำนวนมากบนมือถืออันดับ 1 ทั้งฟรีเครดิต 50 ,100 , 150 , 200 ที่สามารถ

  25. Superslot

    ซุปเปอร์สล็อต เราคือผู้ให้บริการสล็อตออนไลน์มีตัวเกมสล็อตให้เลือกเล่นจำนวนมากบนมือถืออันดับ 1 ทั้งฟรีเครดิต 50 ,100 , 150 , 200 ที่สามารถ

  26. spperslot

    Superslot หรือ ภาษาไทย บ้านๆ เรียกว่า ซุปเปอร์สล็อต เราคือผู้ให้บริการสล็อตออนไลน์มีตัวเกมสล็อตให้เลือกเล่นจำนวนมากบนมือถืออันดับ 1 ทั้งฟรี

  27. Autoankauf Auf der Suche nach einem seriösen Autoankäufer in NRW sind Sie bei uns genau richtig. Wir garantieren Ihnen eine sichere und seriöse Abwicklung rund um den Autoankauf in NRW.

  28. Are you an entrepreneur wanting to achieve success? By having your brand name professionally created, customers are sure to remember your brand name. Truly a great investment for the success of a business. Email Spider

  29. wiza turystyczna do Kanady Som en del af sin fælles aftale med USA om bedre sikring af begge landes grænser startede Canada fra august 2015 og fremad Visumfritagelsesprogram for visse lande, der er fritaget for visum hvis borgere kunne rejse til Canada ved i stedet at ansøge om et elektronisk rejseautorisationsdokument, der er kendt som eTA for Canada

Leave a Reply

Your email address will not be published. Required fields are marked *