« B★Marlin | トップページ | 玉原湿原 »

2007年6月27日 (水)

RubyでCGI(メール編)

RubyでのCGI作成が少し滞っていた。

先日lolipop上でSQLiteを使えないかと
あれこれ画策したのだが、結局敗北。
まあ、そんなこともあり、ちょっと滞ってしまってたわけだ。

 #具体的には、こちらの方とまったく同じ状態になってしまい
 #この方が諦めていたので私も諦めた次第です。 うむぅ
 #http://d.hatena.ne.jp/shunsuk/20070519/1179554814
 


しかし本日、たったいま進捗があったので、それをメモしようと思う。

やりたかったことは、まあ、ただのフォームメールだったんだけど、
Rubyで出すのは初体験だったので、うまくいってちょっと嬉しい。

ホスティングは相変わらずlolipopさんなんだけど、
ローカル環境でテストをする関係上、 、/usr/lib/sendmailとか
そういうことしたくなかったわけです。
だって、Windows上に/usr/lib/sendmailとかないじゃん。

というわけで、lolipopさんはPopBeforeSMTPだそうなので、
以下のようなものを書いてみました。

そしたら、動きマスター!^^
ウレシー!!


#!/usr/local/bin/ruby -Ku

require 'cgi'
require 'net/smtp'
require 'net/pop'

cgi = CGI.new
print cgi.header({"charset" => "utf-8"})

#----------------------
# Pop Before SMTP
#----------------------
Net::POP3.start( 'pop.server', 110, 'pop.user', 'pop.password' ) { |pop|
# Do nothing
}

#----------------------
# MAIL CONTENT
#----------------------
mail_string=<<EOF
Subject: test
To: hoge@hogehoge.net

hoge
hoge
hoge
EOF


#----------------------
# SMTP
#----------------------
Net::SMTP.start( 'smtp.server' ) {|smtp|
smtp.send_mail mail_string, 'from@address.com', 'to@address.net'
}

#----------------------
# CGI Output
#----------------------
print 'mail sent'

Popの部分のブロックのあたり、無駄な記述をしているように思うけど、
まあ、まだ相変わらずRubyよくわかってないので、
その辺はカンベン^^ 

とにかく、
「ロリポップRuby CGIでPop Before SMTPってできるのね。」
知らんかったー! ってことです。

これなら、Windowsローカルマシンでのテストでもメール飛ぶし、
そのままFTPであげられるので/usr/lib/sendmailたたくより
なんかいい感じ! ちょっと嬉しいです。

« B★Marlin | トップページ | 玉原湿原 »

パソコン・インターネット」カテゴリの記事

コメント

コメントを書く

(ウェブ上には掲載しません)

トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/34023/15578314

この記事へのトラックバック一覧です: RubyでCGI(メール編) :

« B★Marlin | トップページ | 玉原湿原 »

Haruya's Violin

2017年9月
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30

最近のトラックバック

無料ブログはココログ