class Mailman < ActionMailer::Base
def receive(email)
page = Page.find_by_address(email.to.first)
page.emails.create(
:subject => email.subject, :body => email.body
)
if email.has_attachments?
for attachment in email.attachments
page.attachments.create({
:file => attachment, :description => email.subject
})
end
end
end
end
what does this line do...
def receive(email)
page = Page.find_by_address(email.to.first)
page.emails.create(
:subject => email.subject, :body => email.body
)
Look like it can''t work at all
--
Posted via http://www.ruby-forum.com/.
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"Ruby on Rails: Talk" group.
To post to this group, send email to
rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
To unsubscribe from this group, send email to
rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
For more options, visit this group at
http://groups.google.com/group/rubyonrails-talk?hl=en
-~----------~----~----~----~------~----~------~--~---
On 29 May 2008, at 10:05, Emmie Wawa wrote:> > > what does this line do... > > def receive(email) > page = Page.find_by_address(email.to.first) > page.emails.create( > :subject => email.subject, :body => email.body > )Which part isn''t working? if Page. find_by_address is returning nil, have you compared what''s in the database with what''s in the email (bearing in the mind that the email will probably have something like "Fred blogs <fred-hcDgGtZH8xNBDgjK7y7TUQ@public.gmane.org>" whereas your database might only have fred-hcDgGtZH8xNBDgjK7y7TUQ@public.gmane.org . Fred> > > Look like it can''t work at all > -- > Posted via http://www.ruby-forum.com/. > > >--~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
receive is a class method in ActionMailer::Base that processes incoming mail. What you usually do is pipe contents of the email, as a string, from your mailing process to the receive method which automatically converts it to a Tmail object. This is the example for Rails Way (modified slightly to match your class name) to listen for incoming mail: ./script/runner ''Mailman.receive(STDIN.read)'' On May 29, 2008, at 5:05 AM, Emmie Wawa wrote:> > class Mailman < ActionMailer::Base > def receive(email) > page = Page.find_by_address(email.to.first) > page.emails.create( > :subject => email.subject, :body => email.body > ) > > if email.has_attachments? > for attachment in email.attachments > page.attachments.create({ > :file => attachment, :description => email.subject > }) > end > end > end > end > > what does this line do... > > def receive(email) > page = Page.find_by_address(email.to.first) > page.emails.create( > :subject => email.subject, :body => email.body > ) > > Look like it can''t work at all > -- > Posted via http://www.ruby-forum.com/. > > >--~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
Actually these code is not working
if email.has_attachments?
for attachment in email.attachments
page.attachments.create({
:file => attachment, :description => email.subject
})
end
So i change the code to
if email.has_attachments?
email.attachments.each do |attachment|
# save original file
File.open("C:/rubydev1/mail7/log/" +
base_part_of(attachment.original_filename)
,File::CREAT|File::TRUNC|File::WRONLY,0666){ |f|
f.write(attachment.read)
f.close()
}
end
end
And these code work fine, it did help me read the attachment file and
save it into the ruby directory. Then now i want to retrieve hte email
header such as the receiver, the senter, subject and date. It is
possible. Thanks
--
Posted via http://www.ruby-forum.com/.
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"Ruby on Rails: Talk" group.
To post to this group, send email to
rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
To unsubscribe from this group, send email to
rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
For more options, visit this group at
http://groups.google.com/group/rubyonrails-talk?hl=en
-~----------~----~----~----~------~----~------~--~---