3 mail_hist = 60 # Send 60 seconds of backlog
4 mail_delay = 60 # Wait 60 seconds after last mention before mailing
6 mail_from = NICK "<andy753421@gmail.com>"
7 mail_err = "If you received this message in error,\n" \
8 "someone in #rhnoise is being a jerk"
11 function mail_send(addr, subj, body,
14 gsub(/[^a-zA-Z0-9_+@.-]/, "", addr)
15 sendmail = "/usr/sbin/sendmail " addr
16 print "To: " addr | sendmail
17 print "From: " mail_from | sendmail
18 print "Subject: " subj | sendmail
21 print mail_err | sendmail
25 function mail_prep(user, chan,
30 addr = mail_enable[user]
31 sn = asorti(mail_log[chan], ss)
33 for (si = 1; si <= sn; si++) {
35 mn = length(mail_log[chan][sec])
36 for (mi = 0; mi < mn; mi++) {
37 msg = mail_log[chan][sec][mi]
38 if (sec > mail_ready[user][chan] - mail_hist) {
47 say("notifying " user " at " addr)
48 mail_send(addr, "Message for " user " in " chan, body)
49 delete mail_ready[user][chan]
52 function mail_run( user, chan, ready, time)
54 for (user in mail_ready)
55 for (chan in mail_ready[user]) {
56 ready = mail_ready[user][chan]
57 delay = systime() - ready
58 if (ready && delay > mail_delay)
65 reply("notifying " $2 " for " $3)
70 reply("notifying " $2)
71 mail_enable[FROM] = $2
75 reply("well fine then")
76 delete mail_enable[FROM]
80 for (_user in mail_enable)
81 if ($0 ~ "\\<"_user"\\>") {
82 mail_ready[_user][DST] = systime()
83 debug("queueing messages to " DST " for " _user)
88 delete mail_ready[FROM]
89 debug("clearing message for " FROM)
94 _i = length(mail_log[DST][_t])
95 if (_i==0) delete mail_log[DST][_t]
96 mail_log[DST][_t][_i] = DST " " strftime("(%H:%M:%S) ") FROM ": " $0
97 #debug("log["DST"]["_t"]["_i"] = "mail_log[DST][_t][_i])