Wednesday, October 29, 2008

How to get emails from your india times account to your mobile?

Its quite easy to access your emails from India Times on your mobile than you think. You can actually READ, REPLY, REPLYALL right from your mobile itself.

Open indiatimes and login with your user name and password.

After logging into your account, Click Preferences tab. There you can find Mail Tab.

In that tab select Forward a copy to: and type your mobee.in email adress. ie., 9198xxxxxx@mobee.in and click save. See the below image for reference.


Thats it. mobee.in takes care of the rest.
Then automatically your email will be sent to your mobile as SMS.

Saturday, October 25, 2008

Clearing the Email in the logs in Ruby on Rails.

Are your logs printing the complete email when you are sending using Action Mailer in ROR?

By default your Action Mailer will print the log when an email is being sent. So to Avoid this add the following line in envionment.rb where you initialize.

ActionMailer::Base.logger = nil

This should look like below.

ActionMailer::Base.delivery_method = :smtp
ActionMailer::Base.perform_deliveries = true
ActionMailer::Base.raise_delivery_errors = true
ActionMailer::Base.default_charset = "utf-8"
ActionMailer::Base.logger = nil #this will prevent you by printing in the log.

So this will prevent by printing in all the logs.

Mobee.in Status

Mobee.in registrations are happening like Sehwag scoring runs in cricket :). We actually not yet started the marketing. Even though registrations are very fast with out any ads/marketing. Hope we will get more number of users after we start the real time marketing.
The response from the registered users is "WOW", "AWESOME", "FANTASTIC" etc., :)
Our team is very happy for the starting success and need to see more and more happiness.

Saturday, October 4, 2008

Sending Email with attachment in Ruby on Rails using Gmail Account

Its very important to send an email with attachment in Ruby on Rails. Generally most of the applications use this.

I'll write you step by step procedure.

For sending an email you need to to specify the mailer details in environment.rb

require 'smtp_tls' #this is used for GMAIL . click here to get this file. Copy this file in your lib folder.

# ActionMailer Settings
ActionMailer::Base.delivery_method = :smtp
ActionMailer::Base.perform_deliveries = true
ActionMailer::Base.raise_delivery_errors = true
ActionMailer::Base.default_charset = "utf-8"
ActionMailer::Base.logger = nil #this will prevent you by printing in the log.


ActionMailer::Base.smtp_settings = {
:address => "smtp.gmail.com",
:port => 587,
:domain => "gmail.com",
:authentication => :login,
:user_name => "username@gmail.com",
:password => "your assword",
}

To use ActionMailer, you need to create a mailer model.

$ script/generate mailer SendMail

This will create the model file app/models/send_mail.rb

Where ever you want to call the mailer method,
SendMail.deliver_send_attachment(subject, message, document)

"deliver_ " will deliver the email specified with the method.
"send_attachment" method should be in send_mail.rb (model)
In you models app/models/send_mail.rb
class SendMail < ActionMailer::Base
def send_mail(subject, message, document)
@from = "your email"
@subject = subject
@body['message'] = message #@body["message"] here @message will be the instance variable
@recipients = "some email" #recipient email
content_type "text/html"
@sent_on = Time.now
unless document.nil?
part :content_type => document.content_type do |p|
p.attachment :content_type => document.content_type,
:body => File.open("./public/#{your file name}", 'rb') { |f| f.read },
:filename => document.filename
end
end
@layout = :some layout
end
end

In the above code for the attachment I passed document object, in which content type (image, doc, pdf etc.,)is saved.
generally the content type will be
"application/msword" -> for MSword
"application/pdf" -> for MSword
"image/gif" -> for gif images

Instead of document.content_type you hard code it by the type mentioned above.
eg:
part :content_type => "application/pdf" do |p|
p.attachment :content_type => "application/pdf",
:body => File.open("./public/#{your file name}", 'rb') { |f| f.read },
:filename => "file_name"
end

In your views app/views/send_mail/send_attachment.rhtml
Hi some name,
This is the message <%= @message %>

Yours truly,
blah blah.

This will send an email with the attachment using Gmail.