IRcap — File Browser
ircap871-mircscripts_2799 / ircap871-mircscripts_2799 / mod / mail / smail.mrc
smail.mrc — 3.86 KB — Download this file
;IRcap8 a7698f89561f75d34f7d1986f858ba0e
alias dmail {
%smail.de = $readini(%perfil,email,de)
%smail.to = $readini(%perfil,email,to)
%smail.smtp = $readini(%perfil,email,smtp)
if $dialog(email) == $null dialog -m email emailt
if ($1) { %smail.to = $klista($1,%smail.to) | .timer -m 1 100 llenato | .timer -m 1 200 did -c email 1 1 | .timer -m 1 300 did -f email 2 }
}
on *:DIALOG:email:init:0:{
did -a email 7 %smail.de
did -c email 11
llenato | llenasmtp
}
alias LLENATO did -r email 1 | var %i = 1 | :L1 | var %a = $gettok(%smail.to,%i,32) | if (%a) { did -a email 1 %a | inc %i | goto L1 }
alias LLENASMTP did -r email 8 | var %i = 1 | :L1 | var %a = $gettok(%smail.smtp,%i,32) | if (%a) { did -a email 8 %a | inc %i | goto L1 } | did -c email 8 1
on *:DIALOG:email:close:0: {
if (%smail.de) writeini %perfil email de %smail.de
if (%smail.to) writeini %perfil email to %smail.to
if (%smail.smtp) writeini %perfil email smtp %smail.smtp
unset %smail.* | .unload -rs smail.mrc
}
dialog emailt {
title $s(50)
size -1 -1 520 246
combo 1,66 10 200 170,edit drop
edit "",2,65 32 450 24,autohs
edit "",3,65 56 450 100,return multi vsbar
edit "",7,345 10 170 23,autohs
combo 8,66 160 170 50,edit drop
button $s(51),10,350 160 164 25
check $s(52),11,250 160 88 24
edit "IRcap mail 3.0",12,5 190 510 50,multi vsbar read
text $s(53),101,2 13 60 22,right
text $s(19),102,2 36 60 22,right
text $s(54),103,2 60 60 22,right
text $s(55),107,282 14 60 18,right
text $s(56),108,2 163 60 20,right
}
on *:DIALOG:email:*:*: {
if ($devent == sclick) && ($did == 10) {
if ($did(10) == $s(57)) { info $s(58) | reamail | return }
iniemail
}
if ($devent == edit) && ($did == 7) { set %smail.de $did(7) }
}
alias INIEMAIL {
if (!$did(email,1)) || (!$did(email,2)) || (!$did(email,3)) || (!$did(email,7)) || (!$did(email,8)) { info $s(59) | return }
did -a email 10 $s(57)
%smail.smtp = $klista($did(email,8),%smail.smtp) | llenasmtp
%smail.to = $klista($did(email,1),%smail.to) | llenato | did -c email 1 1
sockclose eemail
sockopen eemail $did(email,8) 25 | info $s(60) $did(email,8) : 25
}
on 1:sockopen:eemail: {
if $sockerr > 0 { info $s(61) $sock(eemail,1).ip : $sock(eemail,1).port | reamail | return }
info $s(62)
sockwrite -tn eemail HELO $ip
%tmp.mail.datos = 1
}
on 1:sockclose:eemail: info $s(63) | reamail
on 1:sockread:eemail: {
var %a | sockread %a
if (accepted isin %a) || (received isin %a) {
info $s(64) %a
finalmail
}
if (Denied isin %a) || (ERROR isin %a) || ($gettok(%a,1,32) == 550) { info $s(65) %a | reamail | halt }
if ($gettok(%a,1,32) == 250) { if (%tmp.mail.datos) { unset %tmp.mail.datos | maildatos } }
}
on 1:sockwrite:eemail: if $sockerr > 0 { info $s(66) | reamail | halt }
alias MAILDATOS {
var %c = sockwrite -tn eemail
%c MAIL FROM: $did(email,7)
%c RCPT TO: $did(email,1)
%c DATA
%c To: $did(email,1)
%c From: $did(email,7)
%c Subject: $did(email,2)
%c $crlf
var %l = 1 | :L1 | %c $did(email,3,%l) | inc %l | if (%l <= $did(email,3).lines) goto L1
%c $crlf
%c .
info $s(67)
if ($did(email,11).state == 1) logmail
}
alias FINALMAIL {
sockwrite -tn eemail quit
reamail
}
alias REAMAIL sockclose eemail | did -a email 10 $s(51)
alias LOGMAIL {
var %c = write s\log\smail.txt
%c ( $+ $s(68) $+ ): $fulldate
%c ( $+ $s(69) $+ ): $did(email,1) : : : ( $+ $s(18) $+ ): $did(email,7)
%c ( $+ $s(19) $+ ): $did(email,2)
var %l = 1 | :L1 | %c $did(email,3,%l) | inc %l | if (%l <= $did(email,3).lines) goto L1
%c - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
}
alias -l klista return $gettok($1 $remtok($2-,$1,1,32),1-8,32)
alias -l info did -a email 12 $crlf *** $1-
alias -l S return $hget(mail,$1)
;EOF-dt