Hatena::ブログ(Diary)

はけの徒然日記 このページをアンテナに追加 RSSフィード

2005 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2006 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2007 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2008 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2009 | 01 | 02 | 04 | 05 | 08 | 09 | 10 | 12 |
2010 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 10 | 11 |
2011 | 01 | 02 | 03 | 04 | 11 | 12 |
2012 | 02 | 03 | 05 |
2014 | 02 | 03 | 04 | 05 | 12 |
2015 | 05 | 07 | 08 | 09 | 10 | 11 | 12 |
2016 | 01 | 02 | 04 | 05 | 08 | 09 | 11 | 12 |
2017 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 10 |

2006-09-13(Wed)

net/smtp - メールの送信

Ruby勉強

とりあえずマニュアルのサンプルを殆どそのまんま実行。ヘッダ部の日本語エンコードは無視。いきなり送信はできないみたいなのでPOPbeforeSMTPを行って送信しています。

ヘッダ部のTo:やらFrom:のアドレスには送信にあたって意味がないことがわかった。to_addrにあるアドレスに送信されるんですね、Bcc:なんかがどうやって送信されるのか理解できました。ちなみに送信者の本当のアドレスはX-Apparently-From:にありました。送信自体にはパスワードも使用しないので違う送信アドレスを偽装してできるかとおもったら、さすがにサーバー側で拒否されました(^^ゞ

昨日の受信で文字がjisだったので、送信時の本文も日本語はjisにして送信。


マニュアルhttp://www.ruby-lang.org/ja/man/?cmd=view;name=net%2Fsmtp

require 'net/smtp'
require 'net/pop'
require 'nkf'

SMTPSERVER = 'smtp.mail.yahoo.co.jp'
SMTP_PORT  = 25
FROM_ADDR  = 'from_addr'
HELO       = 'HELO domain'

to_addr    = ['to_addr1', 'to_addr2', …]


POPSERVER = 'pop.mail.yahoo.co.jp'
POP_PORT  = 110
ACCOUNT   = 'user_name'
PASSWARD  = 'password'
is_apop            = false   # APOPならばtrueにする
is_pop_before_smtp = true    # POP before SMTPを行う

# POP before SMTP
if is_pop_before_smtp
  pop = Net::POP3::APOP(is_apop).auth_only( POPSERVER, POP_PORT, ACCOUNT, PASSWARD )
end
# SMTP
Net::SMTP.start( SMTPSERVER, SMTP_PORT, HELO ) {|smtp|
    smtp.ready( FROM_ADDR, *to_addr ) {|f|
        f.puts 'From: aamine@loveruby.net'
        f.puts 'To: someone@somedomain.org'
        f.puts 'Subject: test mail'
        f.puts 'Message-Id: <20060913124018.1234567890@smtp.loveruby.jp>'
        f.puts
        f.puts 'This is test mail.'
        f.puts NKF.nkf('-Sj', '日本語の本文')
    }
}

投稿したコメントは管理者が承認するまで公開されません。

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証