Ruby и Gmail.


Напишем программу на Ruby, которая даст возможность проверять почту за программной консолью, не пользуясь браузером или иными какими либо почтовыми приложениями. Ruby насколько динамичный язык, что покопавшись только в его мануалах и усвоив синтаксис языка, можно писать небольшие приложения.

Коротко о Ruby:
Ruby (англ. Ruby ['ɹu:bɪ] — «Рубин») — динамический, рефлективный, интерпретируемый высокоуровневый язык программирования для быстрого и удобного объектно-ориентированного программирования. Язык обладает независимой от операционной системы реализацией многопоточности, строгой динамической типизацией, сборщиком мусора и многими другими возможностями. Ruby близок по особенностям синтаксиса к языкам Perl и Eiffel, по объектно-ориентированному подходу — к Smalltalk. Также некоторые черты языка взяты из Python, Лисп, Dylan и CLU.
Ruby на Википедия.

В данном примере используеться обычный gem «net/pop» и пару строк программного кода. Но для начала надо активировать доступ pop в настройках gmail.

require 'net/pop' #Подключаем gem

username = 'Логин@gmail.com' #Вводим логин
password = 'Пароль' #Вводим пароль

Net::POP3.enable_ssl(OpenSSL::SSL::VERIFY_NONE) #Открываем доступ SSL
mail_server = Net::POP3.start('pop.gmail.com', 995, username, password) #создаем обьект и присваеваем ему значения

begin #здесь начинается основной код

  if mail_server.mails.empty? #В случае отстутвии писем

    puts "No mails"

  else

    puts "#{mail_server.mails.length} mails waiting" #Общее количество писем

  end
  
#Здесь можем вставить какой либо метод для обработки наших сообщений.
#К примеру:

mail_server.mails.each do |mail| #Применяя метод each для каждого письма выводим его содержание загаловка.
      p mail.header
    end


rescue

  puts "Mail error" #Если что-то пошло не так.

end

В следующих разделах, допишу обработку результат вывода этой программы в удобном оформлении. Кроме того, не мучаясь, можно использовать готовый gem для gmail, который очень легок в использовании и установке. Следует всего лишь выполнить:
sudo gem install ruby-gmail

И в дальнешем ознакомиться с ним на ruby-gmail.

Напоследок клип от Kaiser Chiefs – Ruby

  • +2
  • 20 сентября 2010, 22:20
  • Biotin

Комментарии (4)

RSS свернуть / развернуть
+
0
Вот думал, что лучше изучить Ruby или Python? Это я не для флейма спрашиваю :)
Просто для меня эти языки сейчас на одном уровне стоят
avatar

baxi

  • 22 сентября 2010, 01:30
+
0
смотря для чего тебе нужно :)
Если системное программирование — то лучше и без вариантов — Python.
А если веб программирование — то лучше Ruby.
avatar

Biotin

  • 22 сентября 2010, 15:11
+
+1
мой любимый язык программирования :) И песня давно на iPod-е ;)
интересно было, как-нибудь тоже напишу что-нибудь о Руби.
avatar

Nehfy

  • 22 сентября 2010, 22:53
+
+1
Я бы изучал Python, сейчас он широко используется.
Он и проще со стороны синтаксиса и самого кода
Особенно в вэб(фрэймворк Джанго)
avatar

Mecid

  • 25 сентября 2010, 01:30

Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.