2008/6/6 Sijo Kg <sijo / maxxion.com>: > Hi > I have succesfully send mail from my rails application..I did it like > below.What I am doing is send a mail to an assignee. > def after_transfer > code-------- > code------ > send_mail_to_primary_assignee(assignee_id) > end > > #This is the function responsible for sending mails > def send_mail_to_primary_assignee(contact_id) > contact_name=Contact.find(contact_id).name > official_email_ids = > ContactEmailAddress.find_all_by_contact_id(contact_id ,:conditions => > "contact_email_address_type_id = '2'" ) > official_email_ids.each do |official_email| > ServiceDeskMailer.deliver_to_send_mail_to_primary_assignee_on_transfer_reason(official_email,contact_name) > end > puts "```````````````````` " > end > > Then my question is how can i put this to seperate thread in ruby..Why I > am asking this is only after all the mails are send i can continue in > the view..So if I put this to a thread is that problem solved .Since I > am new thread especially in ruby could you please tell me how i can > implement that? I can see two reasonable options: 1. create a thread ad hoc and let it do the mail sending (i.e. call your methods). 2. create a global thread connected to a Queue that does the mail sending and stuff the email information into the queue if you want to send an email. Note, both approaches are unlikely to work in a CGI environment. But since I do not have intimate knowledge of Rails I cannot really tell whether this will bite you or not. In this case you might need option 3. Create a separate process that accepts emails via DRb and then hands them off to your MTA. Do the threading internally like in 1 or 2. Cheers robert -- use.inject do |as, often| as.you_can - without end