Imap

From Wasya Wiki
Jump to: navigation, search
 https://docker-mailserver.github.io/docker-mailserver/edge/usage/
 https://mdesantis.github.io/ruby-rails-documentations/Ruby%20v2.0.0-p451,%20Ruby%20on%20Rails%20v3.1.12/Ruby/classes/Net/IMAP.html
 https://github.com/ruby/net-imap
 https://github.com/zquestz/omniauth-google-oauth2
 https://pramodbshinde.wordpress.com/2014/12/07/gmail-api-in-ruby-on-rails-a-piece-of-cake/
 https://dcparker.github.io/ruby-gmail/
 https://stackoverflow.com/questions/9039237/searching-all-mail-including-inbox-and-archived-emails-using-gmail-gem
  imap = Net::IMAP.new('imap.gmail.com', 993, usessl = true, certs = nil, verify = false)
  imap.authenticate('XOAUTH2', email, access_token)
  imap.select("[Gmail]/All Mail")


  imap = Net::IMAP.new('imap.gmail.com', 993, usessl = true, certs = nil, verify = false)
  imap.authenticate('LOGIN', '<user>', '<password>>')
  imap.examine('INBOX')
  imap.search(["RECENT"]).each do |message_id|
    envelope = imap.fetch(message_id, "ENVELOPE")[0].attr["ENVELOPE"]
    puts "#{envelope.from[0].name}: \t#{envelope.subject}"
  end

  imap = Net::IMAP.new('localhost', 143, usessl = false, certs = nil, verify = false)
  imap.authenticate('LOGIN', 'admin@email.local', 'test1234')
  imap.list('*', '*')
  imap.select('INBOX')

  imap.search(['ALL']).each_with_index do |m_id, idx|
    break if idx > 10
    puts m_id
    msg = imap.fetch(m_id,'RFC822')[0].attr['RFC822']
    mail = Mail.read_from_string msg
    # puts!( mail.text_part.body.to_s, 'mail' ) rescue nil
    puts! mail.subject, 'subj'
    imap.store(m_id, '+FLAGS', [:Seen])
    imap.move(m_id, "Done")
  end


  imap.search(['ALL']).each do |message_id|
    msg = imap.fetch(message_id,'RFC822')[0].attr['RFC822']
    mail = Mail.read_from_string msg
    puts mail.subject
    puts mail.text_part.body.to_s rescue nil
    puts mail.html_part.body.to_s rescue nil
  end