Archive

Archive for January, 2010

rubyでgmailの送受信をする

January 18th, 2010 No comments

gmailはssl必須なので面倒かと思ったのですが、意外と簡単でした

まずは以下のライブラリを入れましょう
#以下はruby1.8系の場合. ruby1.9系はsmtpがssl対応してるのでtlsmailは要りません

sudo gem install tmail tlsmail

tmailはメールをparse、tlsmailはsmtpのssl化をしてくれます

require 'rubygems'
require 'tmail'
require 'tlsmail'
require 'net/smtp'
require 'net/pop'
require 'kconv'

mail = TMail::Mail.new
mail.to = 'recieve@some.domain'
mail.from = 'your@gmail.com'
mail.subject = '件名'.tojis
mail.date = Time.now
mail.mime_version = '1.0'
mail.set_content_type 'text', 'plain', {'charset => 'iso-2022-jp''}
mail.body = 'うんたらかんたら'.tojis
Net::SMTP.enable_tls(OpenSSL::SSL::VERIFY_NONE)
# port = 587はtlsの場合. ruby1.9系でenable_sslしている場合はport = 465になると思われます
Net::SMTP.start('smtp.gmail.com', 587, 'localhost.localdomain',
                 'your@gmail.com', 'your_gmail_password') do |smtp|
  smtp.sendmail(mail.encoded, mail.from, mail.to)
  puts 'send mail.'
end

Net::POP3.enable_ssl(OpenSSL::SSL::VERIFY_NONE)
Net::POP3.start('pop.gmail.com', 995, 'your@gmail.com',
                'your_gmail_password') do |pop|
  unless pop.mails.empty?
    pop.mails.each do |m|
      mail = TMail::Mail.parse(m.pop)
      # toutf8はterminalなんかで表示する場合. windowsならtosjis
      puts "#{mail.from}:[#{mail.subject}] #{mail.body.toutf8}"
    end
  end
end

マルチバイト文字が入るところには忘れずにtojisしないと文字化けします

Tags:

VMware上で動くWebアプリにホスト側からアクセス

January 14th, 2010 2 comments

VMで動かしているwebアプリをwindowsでテストしたくなったので
VMのネット設定をNATにしてlinuxのhostsを以下のように追記編集
127.0.1.1 app.myhostname
127.0.0.1 localhost app.myhostname

windows側ではそのホスト名をVMに向けます
windows7のhostsファイルは、
C:\Windows\System32\drivers\etc
にあります
ただしメモ帳などを管理者権限で実行しないと編集出来ません
hostsはVMのIPアドレスで追記します
192.168.128.128 app.myhostname

編集したらブラウザから設定したホスト名でアクセスできるか確認
=> http://app.myhostname/
無事表示されれば完了

# 2011/02/02 追記
今更ですが、なんか最近この記事が結構見られていることに気付いたので修正します
当時使っていたverは覚えていませんが、こちらに書いてある通り 127.0.0.1 が正しいです
Ubuntu Edgyの/etc/hostsが間違っている
あと、タイトルが酷かったので修正
#旧タイトルは「windows7でhostsファイルを編集する」

Tags:

herokuのログ

January 9th, 2010 No comments

heroku logs
で見れる

Tags:

talklineのtwitter oauthとbitlyへの対応

January 7th, 2010 No comments

卒論で3年次に作ったtalklineという奴も取り扱うことになったのでちょこっと修正しました
twitterにbitlyで短縮したURL付きのpostが出来るように

oauthについては参考サイト多数なので省略
良くわからなかったのはoauthの認証情報でどれを保存すれば良いのか?
保存するのはaccess_tokenとaccess_token_secretでした
この2つを保存しておけば以後consumerキーと組み合わせて即リクエスト出来ます

bitly対応では
Rubyでbit.lyのAPI経由で短縮URLを取得する – 黒川仁の文具堂ブログ三昧
APIを取得してこちらのshortenメソッドをコピペしました

例のごとく反映は遅れるかも

Tags: ,

windows7でsendToを表示

January 5th, 2010 No comments

windows7ではsendToの場所が
C:\Users\yusuke\AppData\Roaming\Microsoft\Windows\SendTo
になっています

普通に辿ると果てしなく面倒なのでtips
windowsキー+Rで名前を指定して実行のウィンドウを表示し、
shell:sendto
と入力してEnter
sendToが開きます

Tags: