วันพุธที่ 22 มิถุนายน พ.ศ. 2554

Ruby + Gmail ทำให้งานเราสบายขึ้น

ด้วยความขี้เกียจที่จะต้องมานั่งทำรายงาน ทุกเช้า เช่น ตรวจสถานะ CPU, แรม, เนื้อที่ Harddisk สถานะ บลา บลา กว่าจะเสร็จก็ปาไปร่วมชั่วโมง ก็เลยหาวิธี ให้มัน สรุปรายงานในเครื่องแล้วส่งเข้าอีเมล์ไปเลย

เพื่อให้คง concept ไว้ก็เลยเลือกใช้งาน Ruby ส่งผ่าน gmail Account ไปเลย (ลองทดสอบใช้กับ Google Apps ก็ได้นะ)

ขั้นตอนการเตรียมพร้อม ติดตั้ง Gems ให้เรียบร้อยก่อน

# gem install tmail
# gem install mime
# gem install ruby-gmail

จากนั้น ทดลองเขียนโปรแกรมง่ายๆ เพื่อส่งข้อความ


#!/usr/local/bin/ruby

require 'rubygems'
#require 'mime-types'
require 'gmail'

gmail = Gmail.new('xxxx@gmail.com', 'your_password')
# send commands

# or generate message and send it later
email = gmail.generate_message do
from "xxxxx@gmail.com"
to "xxxxxx_receive@gmail.com"
subject "Not feeling well"
body "I won't be coming in today. So you will eating lunch alone."
end

email.deliver!

gmail.logout
# logged out


จะได้ผลลัพธ์ประมาณนี้

[nutjang@dhcppc7 ~/ruby/gmail]$ ./test.rb
-> "220 mx.google.com ESMTP d2sm930264qcs.21\r\n"
<- "EHLO xxxxxxxxxxxxxxxx\r\n"
-> "250-mx.google.com at your service, [124.121.44.166]\r\n"
-> "250-SIZE 35882577\r\n"
-> "250-8BITMIME\r\n"
-> "250-STARTTLS\r\n"
-> "250 ENHANCEDSTATUSCODES\r\n"
<- "STARTTLS\r\n"
-> "220 2.0.0 Ready to start TLS\r\n"

บลา บลา บลา ....ย้าว ยาว

wrote 353 bytes
-> "250 2.0.0 OK 1308800894 d2sm930264qcs.21\r\n"
<- "QUIT\r\n"
-> "221 2.0.0 closing connection d2sm930264qcs.21\r\n"
[nutjang@dhcppc7 ~/ruby/gmail]$

จากนั้นก็ลองไปตรวจสอบ Inbox ปลายทางดู ก็จะเห็นอีเมล์ส่งมาจ้า

สรุปว่า Happy ทั้งคนทำงาน ไม่ต้องนั่งทำรายงานแล้ว , เจ้านาย ก็มีรายงานทุกเช้า เย้!