# xheader.rbs for Ruby/Becky! # copyright (c) 2001 ZnZ (Kazuhiro NISHIYAMA), all rights reserved. class XHeader AppendHeaders = { # http://niaou.org/columns/x-moe.html # X-Moeなどのように追加したいヘッダがあればここから下で設定してください。 # X-Moeの区切りは「 , 」のようにコンマの前後にスペースを入れると # 良い感じになるようです。(Becky! ver. 2.00.03) # ここに追加するとすべてのメールについてしまうので個別に設定したい場合は # テンプレートを使う方がおすすめです。 # 'X-Moe' => 'これは , テスト , です。 , Moeテスト , test', # 'X-Sister' => '水野容子; as=elder, 福沢祐巳; as=younger', # 'X-Moe-Info' => 'See http://www.x-moe.org/ for detail.', # 'X-Wife-Info' => 'See http://www.x-wife.org/ for detail.', # 'X-Sister-Info' => 'See http://www.x-sister.org/ for detail.', # 'X-Daughter-Info' => 'See http://www3.cds.ne.jp/~marimo/x-daughter/ for detail.', # 'X-URL' => 'http://homepage2.nifty.com/zn/jewel/xheader.rbs', # X-Moeなどのように追加したいヘッダがあればここから上で設定してください。 }.collect{|key, value| key+': '+value.split(/(\s*[,;]\s*)/).collect{|s| if /[^\x20-\x7E]/ === s BeckyAPI::MIMEHeader(s, 'iso-2022-jp', true) else s end }.join+"\r\n" }.join ShowHeaders = [ # 本文領域に表示したいヘッダはここから下で設定してください。 # 正規表現が使えます。大文字小文字は区別されません。 'Subject', 'Date', 'From', 'To', 'Reply-To', 'Organization', 'Content-Type', # Message-Id系 'Message-Id', 'In-Reply-To', # X-Mailer系 'X-Mailer', 'User-Agent', 'X-Newsreader', # ML系 'X-ML-Name', 'Mailing-List', # MM系 'X-Mag2\\w+', 'X-MagazineID', 'X-Macky-ID', 'X-Mail-Magazine', 'X-Url', # X-Moe系 'X-Moe', 'X-Wife', 'X-Sister', 'X-Husband', 'X-Brother', 'X-Daughter', 'X-Maid', # PGP系 'X-PGP', 'X-Fingerprint', 'X-G(nu)?PG', 'X-Info', 'X-keyrings-url', # BkNews 'Xref', # 本文領域に表示したいヘッダはここから上で設定してください。 ].collect{|h| Regexp.new("^#{h}:", 'i') } def OnOpenMail(mail_id) h = BeckyAPI.GetHeader(mail_id).select{|i| ShowHeaders.find{|j| j === i } }.to_s + "\n" BeckyAPI.SetText(-2, h) end def OnOpenCompose( mail , mode ) mail.SetSource(AppendHeaders+"X-Becky-Decorded:0\r\n"+mail.GetSource) end end if $XHeader # for debug p XHeader::AppendHeaders else $XHeader = XHeader.new becky_callback "$XHeader" end