Closed justinko closed 10 years ago
Yes, it should. I'd like to get the pure-ruby parser to be able to parse everything; but it seems there are small kinks in it sometimes.
If you would be willing to send a copy of the raw email text (optionally scrubbed of any sensitive info), I will find out what is causing the trouble parsing.
Also, TMail is another rubygem that is very capable for parsing these messages and will probably get things right. Just have TMail parse the gmail_message.body.
Well, I grabbed the email that is causing the error, and did this:
def from_parsed(parsed)
case parsed
when Array
raise parsed.inspect
if parsed[0].is_a?(Hash) && (parsed[1].is_a?(Hash) || parsed[1].is_a?(String))
The parsed argument DOES contain a hash at index 0 AND a hash at index 1. I do not know why raise
is being called, the first condition should be returning true.
I can't just parse the body with TMail because I need to grab the message.to, and currently that is the only way. Correct me if I'm wrong.
I've resorted to just using net/imap and TMail for my app. Btw, doesn't the "mail" gem that's going into Rails3 kinda make this gem un-needed?
The same problem with me, if i am using GMAIL Account from domain gmail.com but when i use business gmail account using domain. it is fine.
I got this error when accessing email.message, My codes:
@imap = Gmail.new(current_user.gmail.account, current_user.gmail.password) do |g|
emails = g.inbox.emails(:after => 3.days.ago)
emails.each do |email|
user_email = Mail.create({ :subject => email.message.subject,
:message => email.message.text,
:sender => email.message.from,
:receiver => email.message.to,
:received_date => email.message.headers['date']
})
end
end
The error is :
D:/ruby/lib/ruby/gems/1.8/gems/ruby-gmail-0.0.8/lib/mime/entity.rb:47:in from_parsed' D:/ruby/lib/ruby/gems/1.8/gems/ruby-gmail-0.0.8/lib/mime/entity.rb:40:in
from_parsed'
D:/ruby/lib/ruby/gems/1.8/gems/ruby-gmail-0.0.8/lib/mime/entity.rb:40:in collect' D:/ruby/lib/ruby/gems/1.8/gems/ruby-gmail-0.0.8/lib/mime/entity.rb:40:in
from_parsed'
D:/ruby/lib/ruby/gems/1.8/gems/ruby-gmail-0.0.8/lib/mime/entity.rb:20:in initialize' D:/ruby/lib/ruby/gems/1.8/gems/ruby-gmail-0.0.8/lib/gmail/message.rb:36:in
new'
D:/ruby/lib/ruby/gems/1.8/gems/ruby-gmail-0.0.8/lib/gmail/message.rb:36:in `message'
This is a wonderful gem. Thank you for your hard work!
I keep getting this error from certain emails:
IETF PARSING FAIL! (''A'' structure)
Shouldn't ruby-gmail be able to parse any email that Gmail can parse?