[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[mhc:01225] Re: i-mhc



乃村です。

On Wed, 31 Jan 2001 21:09:53 +0900,
	Kenichirou Kimura(木村健一郎) <kimura@xxxxxxxxxxxxxxxxxxxx> said:

> 予定がX-SC-Alarm:の時間にメールで送られるとうれしいかも。

これは独立したプロセスという手もありますね。
gemcal と today から適当にコードを抜いて繋げてみました。

  MailAddress   = 'foo@xxxxxxx'

のように書換えて使ってみて下さい。
--
nom@xxxxxxxxxxxxx

#!/usr/local/bin/ruby

require 'mhc-schedule'
require 'net/smtp'

MailAddress   = nil # set your own
MailServer    = 'localhost'
MyHostName    = 'localhost'

def send_mail(sch, date, mail_address = nil)
  header    = "To: #{mail_address}\n"
  header   += "From: secretary-of-#{mail_address}\n"
  header   += "Subject: #{sch .subject}\n"
  header   += "\n"
  contents  = "#{date .to_js}\n"
  contents += "  #{sch .time_b}\n"
  contents += "  #{sch .subject}\n"

  if mail_address
    message = header + MhcKconv::tomail(contents)
    Net::SMTPSession .start(MailServer, 25, MyHostName) {|server|
      server .sendmail(message, mail_address, [mail_address])
    }
  else
    # for  debug
    print MhcKconv::todisp(header + contents)
  end
end

db    = MhcScheduleDB .new
alarm = MhcAlarm .new(db)

alarm .signal_connect('time-arrived'){|date, sch| 
  send_mail(sch, date, MailAddress)
}
alarm .check
sleep