助田です。
うちのメールサーバーがとまっていたみたいで先程送信したのが止まって
しまっていたみたいです。もう一度送信します。二重送信になったらすいませ
ん。

In [ruby-list:7801] Re: mail.rb(call for scripts)
>きくたにです。

>content  = "Content-Type: text/plain; charset=iso-2022-jp"

>とcharsetが決め打ちになっていることと、X-Mailer: のようなオプショナルな
>フィールドを入れられると良いなということです。

連休に入ってしまったのと、仕様をどうすべきか悩んでいたのとで
返事が遅くなりました。すいません。
Content-Type の指定が必ずしも、 text/plainであるとは限らない
ということを知り Content-Type を指定できるということにしまし
た。(デフォルトは text/plain; です。)
#いっそのこと、content_type は無しにして head_opt で逃げる方
#がすっきりするかなあ。まだ悩んでいる...。

とりあえず差分と使用例をつけておきます。

助田雅紀(masaki.suketa / tonen.co.jp)

以下使用例

require 'kconv'
require 'smtp-new'
require 'parsearg'

def usage
  puts "mail.rb -t <(\",\"separated) e-mail address(es)> -s <subject>
<file>"
end
$USAGE = 'usage'
parseArgs(1, "t&s", nil, "t:", "s:")

SMTPSERVER= "smtpserver"

smtp = MAIL_SMTP.new(SMTPSERVER)
smtp.send_to(*$OPT_t.split(","))
smtp.subject = $OPT_s
smtp.content_type = "text/plain; charset=iso-2022-jp"
smtp.head_opt("X-Mailer: mail.rb")

File.foreach(ARGV[0]) do |line|
  smtp.write(Kconv::tojis(line))
end

smtp.send
smtp.close

以下差分です。

begin 666 smtp.diff.gz
M'XL("."?3S4``W-M='`N9&EF9@"-5%MOFS`8?1Z_XA.:U&1<!N32P)HI:Y6'
M::M6M4R;-$V(&J=Q"IAA9UFG_OCY`@1:55H>@OEN/N?X&,=Q@!6\<NO;5]]P
M!I?I`\`<O$7DS:+``S\,%X9E66V16^+#T\(@FDYTX6H%SL*>@+6P`UBM#*CQ
MKSVI,9PPBNXQ/S&<+G*/:/G[Q`#5=#JSIV"=3NU3U8;RE#&X_/#Q<W)S&5_!
M&<B'X0"0$N7[#,.:(\,:O`+9P.OU]SA9QQ>P7$)\_75M6`8`I)S7$+'][0XC
M;C>)-BQ0<%SRA#]4V.XU97 / CIA-.TIS\Q:,M9:*UHC5?2BA1)/^3JR_7\5BS
M]A3MP)XK`O*W0BA)LZR^@27\^"EW%+';85`7%NQN4+3%:9;0B@^"?:`B;G+\
MA[^M\I24[TP]A^TK7"LTX53H;X6AO5!HY`3)A^$R2P2"T1L%8:PGJ[6+4[2%
MC,*C?'W4F0'>LS-5J3-BD%RH1ZN6FLYI-UP"\3U?ZN+[07.RNO10$XY'@O98
MGFFK@-CADS1%%'&Z(TSF7;2E1=4`[:JZQ!%#P[!53L]^JN:@M6&A4/ISJ9<_
M\1N4NE,8ZLC?9<(&\!Z\5AK&:ZFE/(ISA"(PP>J7[R@I1Z9MCKMZ*0^J\\VH
MZ1SWI-0'R`LQ+28%=DMZ<.\*+I8:8#"Q9P+@=&*'&J"2K;$$2`P7>NW$PAX1
M],P!:)O6#/,E8=0)O"!P=I79,'QY@&D-'6<\X=#DQJU61Y6/3I*AG)3X\;D$
M;>JY!EV-)CX+U<DL)/_V8C7FZ[OS!?O62%A!1GK[J$26\E1O,)^I#<)`?("Z
;F\OI\YO[W[=Y4]-"146P)+GQ#SQTJ]YC!0``
`
end