Ruby ICalendar Gem: как заставить работать напоминания по электронной почте
Я пытаюсь разобраться, как использовать icalendar ruby gem, который находится по адресу:
http://icalendar.rubyforge.org/
Согласно их учебнику, вы делаете что-то вроде:
cal.event.do
# ...other event properties
alarm do
action "EMAIL"
description "This is an event reminder" # email body (required)
summary "Alarm notification" # email subject (required)
attendees %w(mailto:me@my-domain.com mailto:me-too@my-domain.com) # one or more email recipients (required)
add_attendee "mailto:me-three@my-domain.com"
remove_attendee "mailto:me@my-domain.com"
trigger "-PT15M" # 15 minutes before
add_attach "ftp://host.com/novo-procs/felizano.exe", {"FMTTYPE" => "application/binary"} # email attachments (optional)
end
alarm do
action "DISPLAY" # This line isn't necessary, it's the default
summary "Alarm notification"
trigger "-P1DT0H0M0S" # 1 day before
end
alarm do
action "AUDIO"
trigger "-PT15M"
add_attach "Basso", {"VALUE" => ["URI"]} # only one attach allowed (optional)
end
Итак, я делаю нечто подобное в моем коде.
def schedule_event
puts "Scheduling an event for " + self.title + " at " + self.start_time
start = self.start_time
endt = self.start_time
title = self.title
desc = self.description
chan = self.channel.name
# Create a calendar with an event (standard method)
cal = Calendar.new
cal.event do
dtstart Program.convertToDate(start)
dtend Program.convertToDate(endt)
summary "Want to watch" + title + "on: " + chan + " at: " + start
description desc
klass "PRIVATE"
alarm do
action "EMAIL"
description desc # email body (required)
summary "Want to watch" + title + "on: " + chan + " at: " + start # email subject (required)
attendees %w(mailto:gtg287y@gmail.com) # one or more email recipients (required)
trigger "-PT25M" # 25 minutes before
end
end
Тем не менее, я никогда не вижу сообщений электронной почты, отправленных на мою учетную запись... Я даже пытался жестко запрограммировать время начала, чтобы быть Time.now, и отсылать их 0 минут назад, но не повезло... Я делаю что-то явно неправильно?
2 ответа
Драгоценный камень iCalendar не будет обрабатывать отправку уведомлений - тревога - это просто концепция для использования. Вы должны внедрить свой собственный сервис, который отправляет уведомления по электронной почте и прикрепляет сгенерированные данные.
Пример тревоги на http://icalendar.rubyforge.org/ просто сообщает iCal/outlook, что тревога должна быть установлена для события и что приложение (ical/outlook) обрабатывает его с этого момента.
Почти то же самое, что создание события на iCal и установка будильника.
Таким образом, iCalendar не будет отправлять уведомления, iCal / Outlook будет.
На всякий случай, если кто-то еще найдет это.