home *** CD-ROM | disk | FTP | other *** search
/ WinFiles.com / InfoMagic-WinFilesDotCom-June1998-Disc3of3-DAMAGED_DISC.iso / chat-textadd / C-Script.exe / Sysfiles / Mail / mail.mrc < prev    next >
Text File  |  1998-05-11  |  29KB  |  481 lines

  1. ;C-Script v5.0 ⌐ 1998 C-Team. All rights reserved.
  2. ;Configure at your own risk
  3. ;Email Part 1
  4.  
  5. ;Initiate mail
  6. alias mail mail.initiate
  7. alias mail.initiate {
  8.   if (%mail.comp.yes == 1) { window -h @mail.status | window -h @mailácenter | yesno 'mail.cmpover 8' 'mail.cmpover' 'Are you sure you want to delete the current message?' | halt }
  9.   wincheck @mailácenter -p +f @MailáCenter $center(523,295) 523 295 @mailácenter comic sans ms 12
  10.   drawfill @mailácenter 15 15 0 0
  11.   drawrect -f @mailácenter 2 1 0 0 600 17
  12.   drawtext -o @mailácenter 0 arial 14 3 1 C-Script Mail Center
  13.   drawx 7 20 80 30 @mailácenter
  14.   drawx 7 57 80 30 @mailácenter
  15.   drawx 7 94 80 30 @mailácenter
  16.   drawx 7 131 80 30 @mailácenter
  17.   drawx 7 168 80 30 @mailácenter
  18.   drawx 7 221 80 30 @mailácenter
  19.   drawx 7 257 80 30 @mailácenter
  20.   drawtext @mailácenter 5 arial 14 29 197 C-Script
  21.   drawtext @mailácenter 2 arial 14 22 207 Mail Center
  22.   if ($readini sysfiles\mail\settings.ini inbox num > 0) { drawtext -o @mailácenter 2 arial 18 27 26 Inbox }
  23.   else drawtext -o @mailácenter 1 arial 18 27 26 Inbox
  24.   if ($readini sysfiles\mail\settings.ini outbox num > 0) { drawtext -o @mailácenter 2 arial 18 20 63 Outbox }
  25.   else drawtext -o @mailácenter 1 arial 18 20 63 Outbox
  26.   drawtext -o @mailácenter 1 arial 18 10 101 Sent Items
  27.   drawtext -o @mailácenter 1 arial 18 26 137 Drafts
  28.   drawtext -o @mailácenter 1 arial 18 17 174 Contacts
  29.   drawtext -o @mailácenter 1 arial 18 27 227 Setup
  30.   if (%smail.sndrcv == 1) { drawtext -o @mailácenter 14 arial 18 19 264 Snd/Rcv }
  31.   else drawtext -o @mailácenter 1 arial 18 19 264 Snd/Rcv
  32.   drawx 465 2 15 14 @mailácenter nx | drawx 481 2 15 14 @mailácenter mxx | drawx 499 2 15 14 @mailácenter X
  33.   if ($1 == $null) { mail.sidebar | mail.help }
  34.   else mail.compose $$1
  35.   unset %mail.*
  36. }
  37. alias mailhelp mail.initiate
  38. ;Initiate inbox
  39. alias mail.inbox {
  40.   if (%mail.comp.yes == 1) { window -h @mail.status | window -h @mailácenter | yesno 'mail.cmpover 2' 'mail.cmpover' 'Are you sure you want to delete the current message?' | halt }
  41.   mail.sidebar | clear @mail.status | set %smail.ib.num $readini sysfiles\mail\settings.ini inbox num | set %smail.ib.count 0
  42.   rline @mail.status 1 Right click here for options | rline @mail.status 2 á | set %mail.menu inbox
  43.   :next
  44.   inc %smail.ib.count | if (%smail.ib.count > %smail.ib.num) { goto end }
  45.   set %smail.ib.file ib $+ %smail.ib.count $+ .txt
  46.   rline @mail.status $calc(%smail.ib.count + 2) $read -nl1 [ sysfiles\mail\ [ $+ [ %smail.ib.file ] ] ] $read -nl2 [ sysfiles\mail\ [ $+ [ %smail.ib.file ] ] ]
  47.   goto next
  48.   :end
  49.   unset %smail.ib.* | window -b @mail.status
  50. }
  51. ;Initiate outbox
  52. alias mail.outbox {
  53.   if (%mail.comp.yes == 1) { window -h @mail.status | window -h @mailácenter | yesno 'mail.cmpover 3' 'mail.cmpover' 'Are you sure you want to delete the current message?' | halt }
  54.   mail.sidebar | clear @mail.status | set %mail.ob.num $readini sysfiles\mail\settings.ini outbox num | set %mail.ob.count 0
  55.   rline @mail.status 1 Right click here for options | rline @mail.status 2 á | set %mail.menu outbox
  56.   :next
  57.   inc %mail.ob.count | if (%mail.ob.count > %mail.ob.num) { goto end }
  58.   set %mail.ob.file ob $+ %mail.ob.count $+ .txt
  59.   rline @mail.status $calc(%mail.ob.count + 2) $read -nl1 [ sysfiles\mail\ [ $+ [ %mail.ob.file ] ] ] $read -nl2 [ sysfiles\mail\ [ $+ [ %mail.ob.file ] ] ]
  60.   goto next
  61.   :end
  62.   unset %mail.ob.* | window -b @mail.status
  63. }
  64. ;Initiate sent items
  65. alias mail.sent {
  66.   if (%mail.comp.yes == 1) { window -h @mail.status | window -h @mailácenter | yesno 'mail.cmpover 4' 'mail.cmpover' 'Are you sure you want to delete the current message?' | halt }
  67.   mail.sidebar | clear @mail.status | set %mail.menu sent
  68.   set %mail.sent.num $readini sysfiles\mail\settings.ini sentitems num | set %mail.sent.count 0
  69.   rline @mail.status 1 Right click here for options | rline @mail.status 2 á
  70.   :next
  71.   inc %mail.sent.count | if (%mail.sent.count > %mail.sent.num) { goto end }
  72.   set %mail.sent.file si $+ %mail.sent.count $+ .txt
  73.   rline @mail.status $calc(%mail.sent.count + 2) $read -nl1 [ sysfiles\mail\ [ $+ [ %mail.sent.file ] ] ] $read -nl2 [ sysfiles\mail\ [ $+ [ %mail.sent.file ] ] ]
  74.   goto next
  75.   :end
  76.   unset %mail.sent.* | window -b @mail.status
  77. }
  78. ;Initiate Drafts
  79. alias mail.drafts {
  80.   if (%mail.comp.yes == 1) { window -h @mail.status | window -h @mailácenter | yesno 'mail.cmpover 5' 'mail.cmpover' 'Are you sure you want to delete the current message?' | halt }
  81.   mail.sidebar | clear @mail.status | set %mail.df.num $readini sysfiles\mail\settings.ini drafts num | set %mail.df.count 0
  82.   rline @mail.status 1 Right click here for options | rline @mail.status 2 á | set %mail.menu drafts
  83.   :next
  84.   inc %mail.df.count | if (%mail.df.count > %mail.df.num) { goto end }
  85.   set %mail.df.file df $+ %mail.df.count $+ .txt
  86.   rline @mail.status $calc(%mail.df.count + 2) $read -nl1 [ sysfiles\mail\ [ $+ [ %mail.df.file ] ] ] $read -nl2 [ sysfiles\mail\ [ $+ [ %mail.df.file ] ] ]
  87.   goto next
  88.   :end
  89.   unset %mail.df.* | window -b @mail.status
  90. }
  91. ;Initiate Contacts
  92. alias mail.contacts {
  93.   if (%mail.comp.yes == 1) { window -h @mail.status | window -h @mailácenter | yesno 'mail.cmpover 6' 'mail.cmpover' 'Are you sure you want to delete the current message?' | halt }
  94.   mail.sidebar | clear @mail.status | set %mail.menu contacts
  95.   set %mail.cont.num $readini sysfiles\mail\settings.ini contacts num
  96.   rline @mail.status 1 Right click here to add a contact
  97.   rline @mail.status 2 á
  98.   set %mail.cont.count 0 | set %mail.cont.count2 2
  99.   :next
  100.   inc %mail.cont.count | inc %mail.cont.count2 | if (%mail.cont.count > %mail.cont.num) { goto end }
  101.   set %mail.cont.read $readini sysfiles\mail\settings.ini contacts %mail.cont.count
  102.   if (%mail.cont.read == $null) { dec %mail.cont.count2 | goto next }
  103.   rline @mail.status %mail.cont.count2 %mail.cont.read
  104.   goto next
  105.   :end
  106.   unset %mail.cont.* | window -b @mail.status
  107. }
  108. ;Initiate setup
  109. alias mail.setup {
  110.   if (%mail.comp.yes == 1) { window -h @mail.status | window -h @mailácenter | yesno 'mail.cmpover 7' 'mail.cmpover' 'Are you sure you want to delete the current message?' | halt }
  111.   mail.sidebar | clear @mail.status | set %mail.menu setup
  112.   rline @mail.status 1 Accounts:
  113.   rline @mail.status 2 á
  114.   rline @mail.status 3 Default account number: $readini sysfiles\mail\settings.ini accounts default2
  115.   rline @mail.status 4 1 $readini sysfiles\mail\settings.ini accounts 1name ( $+ $readini sysfiles\mail\settings.ini accounts 1email $+ )
  116.   rline @mail.status 5 ááPassword: $readini sysfiles\mail\settings.ini accounts 1pass
  117.   rline @mail.status 6 ááPOP3 mail server: $readini sysfiles\mail\settings.ini accounts 1mail
  118.   rline @mail.status 7 ááSMTP Server: $readini sysfiles\mail\settings.ini accounts 1smtp
  119.   rline @mail.status 8 2 $readini sysfiles\mail\settings.ini accounts 2name ( $+ $readini sysfiles\mail\settings.ini accounts 2email $+ )
  120.   rline @mail.status 9 ááPassword: $readini sysfiles\mail\settings.ini accounts 2pass
  121.   rline @mail.status 10 ááPOP3 mail server: $readini sysfiles\mail\settings.ini accounts 2mail
  122.   rline @mail.status 11 ááSMTP Server: $readini sysfiles\mail\settings.ini accounts 2smtp
  123.   rline @mail.status 12 3 $readini sysfiles\mail\settings.ini accounts 3name ( $+ $readini sysfiles\mail\settings.ini accounts 3email $+ )
  124.   rline @mail.status 13 ááPassword: $readini sysfiles\mail\settings.ini accounts 3pass
  125.   rline @mail.status 14 ááPOP3 mail server: $readini sysfiles\mail\settings.ini accounts 3mail
  126.   rline @mail.status 15 ááSMTP Server: $readini sysfiles\mail\settings.ini accounts 3smtp
  127.   rline @mail.status 16 á
  128.   rline @mail.status 17 Other:
  129.   rline @mail.status 18 Check/send mail every: $readini sysfiles\mail\settings.ini settings check min ( $+ $readini sysfiles\mail\settings.ini settings check2 $+ )
  130.   rline @mail.status 19 Signature file: $readini sysfiles\mail\settings.ini settings signature | window -b @mail.status
  131. }
  132. ;Add to contacts list
  133. alias mail.add {
  134.   set %mail.cont.q $$?="Enter new contact's name:"
  135.   set %mail.cont.q2 $$?="Enter new contact's e-mail address:"  
  136.   set %mail.cont.num $readini sysfiles\mail\settings.ini contacts num
  137.   inc %mail.cont.num
  138.   writeini sysfiles\mail\settings.ini contacts %mail.cont.num %mail.cont.q $+ : %mail.cont.q2
  139.   writeini sysfiles\mail\settings.ini contacts num %mail.cont.num
  140.   mail.contacts
  141. }
  142. ;Sending of mail to those in contact list
  143. alias mail.send {
  144.   if ($sline(@mail.status,1).ln < 3) { halt }
  145.   mail.compose $gettok($sline(@mail.status,1),2,58)
  146. }
  147. ;Mail sidebar (window)
  148. alias mail.sidebar {
  149.   window -c @mail.status | set %win.x $window(@mailácenter).x  | set %win.y $window(@mailácenter).y
  150.   wincheck @mail.status -l +b @mail.status $calc(%win.x + 95) $calc(%win.y + 22)  425 269 @mail.status comic sans ms 12
  151. }
  152. ;Mail sidebar (non-listbox)
  153. alias mail.sidebar2 {
  154.   window -c @mail.status | set %win.x $window(@mailácenter).x  | set %win.y $window(@mailácenter).y
  155.   if ($1 == e) { wincheck @mail.status -e +b @mail.status $calc(%win.x + 95) $calc(%win.y + 22)  425 269 @mail.status comic sans ms 12 }
  156.   else wincheck @mail.status +b @mail.status $calc(%win.x + 95) $calc(%win.y + 22)  425 269 @mail.status comic sans ms 12
  157. }
  158. ;Shutdown of mail
  159. alias mail.close {
  160.   if (%mail.comp.yes == 1) { window -h @mail.status | window -h @mailácenter | yesno 'mail.cmpover 9' 'mail.cmpover' 'Are you sure you want to delete the current message?' | halt }
  161.   .timermerr off | window -c @mail.sndrcv | sockclose send | sockclose get | unset %mail.* | unset %smail.*
  162.   drawx2 499 2 15 14 @mailácenter | .timercl -m 1 200 window -c @mailácenter | .timerc2 -m 1 200 window -c @mail.status
  163. }
  164. ;Determines what menu to show in @mail.status
  165. alias mail.menu {
  166.   if (%mail.menu == setup) && ($$1 == setup) { return $$2- }
  167.   if (%mail.menu == contacts) && ($1 == contacts) { return $2- }
  168.   if (%mail.menu == drafts) && ($1 == drafts) { return $2- }
  169.   if (%mail.menu == outbox) && ($1 == outbox) { return $2- }
  170.   if (%mail.menu == sent) && ($1 == sent) { return $2- }
  171.   if (%mail.menu == inbox) && ($1 == inbox) { return $2- }
  172. }
  173. ;Edit draft message
  174. alias mail.edit {
  175.   set %mail.df.q $sline(@mail.status,1).ln | set %mail.df.q $calc(%mail.df.q - 2) | set %mail.df.num $readini sysfiles\mail\settings.ini drafts num
  176.   if ((%mail.df.q > %mail.df.num) || (%mail.df.q < 1)) && (%mail.df.num isnum) { unset %mail.df* | halt }
  177.   set %mail.df.count 2 | set %mail.df.file $mircdirsysfiles\mail\df $+ %mail.df.num $+ .txt
  178.   set %mail.comp.rcpt $read -nl1 %mail.df.file | set %mail.comp.subject $read -nl2 %mail.df.file
  179.   set %mail.comp.rcpt $gettok(%mail.comp.rcpt,2,58) | set %mail.comp.subject $gettok(%mail.comp.subject,2,58)
  180.   :next
  181.   inc %mail.df.count | if (%mail.df.count > $lines(%mail.df.file)) { goto end }
  182.   set %mail.comp.csmwlnsc. $+ $calc(%mail.df.count - 2) $read -nl $+ %mail.df.count %mail.df.file
  183.   goto next
  184.   :end
  185.   set %mail.comp.csmwlnsc $calc(%mail.df.count - 3) | set %mail.comp.yes 1 | unset %mail.df.* | mail.sidebar2 e | unset %mail.menu | mail.csmrd
  186. }
  187. ;Setup of accounts
  188. alias mail.acct {
  189.   if ($1 == deflt) && ($3 == chng) { writeini sysfiles\mail\settings.ini accounts default2 $2 | writeini sysfiles\mail\settings.ini accounts default $readini sysfiles\mail\settings.ini accounts $2 $+ smtp | goto end }
  190.   if ($1 == deflt) { if ($readini sysfiles\mail\settings.ini accounts default2 != $2) { return Make default } | else return }
  191.   if ($1 == chck) && ($2 == 1) { set %mail.parm $readini sysfiles\mail\settings.ini settings check2 | if (%mail.parm == off) { writeini sysfiles\mail\settings.ini settings check2 On | set %mail.sec $readini sysfiles\mail\settings.ini settings check | .timermailcheck 0 $calc(%mail.sec * 60) mail.sndrcv1 } | else { writeini sysfiles\mail\settings.ini settings check2 Off | .timermailcheck off } | goto end }
  192.   if ($1 == chck) { set %mail.parm $readini sysfiles\mail\settings.ini settings check2 | if (%mail.parm == off ) { return Turn On } | else return Turn Off }
  193.   if ($$2 == unset) {
  194.     writeini sysfiles\mail\settings.ini accounts $$1 $+ name Not set
  195.     writeini sysfiles\mail\settings.ini accounts $$1 $+ email Not set
  196.     writeini sysfiles\mail\settings.ini accounts $$1 $+ pass Not set
  197.     writeini sysfiles\mail\settings.ini accounts $$1 $+ mail Not set
  198.     writeini sysfiles\mail\settings.ini accounts $$1 $+ smtp Not set
  199.     if ($1 == $readini sysfiles\mail\settings.ini accounts default2) { writeini sysfiles\mail\settings.ini accounts default Not set }
  200.     goto end
  201.   }
  202.   set %mail.parm $$3-
  203.   writeini sysfiles\mail\settings.ini accounts $1 $+ $2 %mail.parm
  204.   if ($1 == $readini sysfiles\mail\settings.ini accounts default2) && ($2 == smtp) { writeini sysfiles\mail\settings.ini accounts default %mail.parm }
  205.   :end
  206.   unset %mail.parm %mail.sec
  207.   mail.setup
  208. }
  209. ;Mail help
  210. alias mail.help {
  211.   if (%mail.comp.yes == 1) { window -h @mail.status | window -h @mailácenter | yesno 'mail.cmpover 8' 'mail.cmpover' 'Are you sure you want to delete the current message?' | halt }
  212.   mail.sidebar2 | loadbuf -p @mail.status sysfiles\mail\help.txt | sline @mail.status 10 | unset %mail.menu
  213. }
  214. ;Mail composing
  215. alias mail.compose {
  216.   if (%mail.comp.yes != 1) {
  217.     if ($1 == re) { set %mail.comp.re $$2- | goto end }
  218.     unset %mail.comp.*
  219.     if ($1 != $null) { set %mail.comp.rcpt $1 }
  220.     else set %mail.comp.rcpt $$?="Enter the recipient's address:"
  221.     set %mail.comp.subject $?="Enter the subject:"
  222.     if (%mail.comp.subject == $null) { set %mail.comp.subject Noneá }
  223.     :end
  224.     unset %mail.menu | mail.sidebar2 e | mail.csmrd | set %mail.comp.yes 1 | halt
  225.   }
  226.   window -h @mail.status | window -h @mailácenter | yesno 'mail.cmpover 1' 'mail.cmpover' 'Are you sure you want to delete the current message?'
  227. }
  228. ;Resarts mail message composing
  229. alias mail.cmpover {
  230.   if ($1 isnum 1-8) || ($1 == $null) { window -a @mailácenter }
  231.   if ($1 isnum) { unset %mail.comp.* %mail.comp.yes }
  232.   if ($1 == 1) { mail.compose }
  233.   if ($1 == 2) { mail.inbox }
  234.   if ($1 == 3) { mail.outbox }
  235.   if ($1 == 4) { mail.sent }
  236.   if ($1 == 5) { mail.drafts }
  237.   if ($1 == 6) { mail.contacts }
  238.   if ($1 == 7) { mail.drafts }
  239.   if ($1 == 8) { mail.help }
  240.   if ($1 == 9) { mail.close }
  241.   if ($1 == $null) { mail.sidebar2 e | mail.csmrd }
  242. }
  243. ;Menu for Mail Center
  244. menu @mail.sndrcv {
  245.   sclick {
  246.     if ($inrect($mouse.x,$mouse.y,185,2,15,14) == $true) { drawx2 185 2 15 14 @mail.sndrcv | .timercl -m 1 200 window -n @mail.sndrcv | .timerc2 -m 1 200 drawx 185 2 15 14 @mail.sndrcv nx }
  247.     if ($inrect($mouse.x,$mouse.y,219,2,15,14) == $true) && (%smail.x == $null) { drawx2 219 2 15 14 @mail.sndrcv | .timerxl -m 1 200 window -c @mail.sndrcv }
  248.     if ($inrect($mouse.x,$mouse.y,95,40,47,17) == $true) && ($lines($mircdirsysfiles\mail\error.txt) > 0) && (%smail.x == $null) { drawx2 95 40 47 17 @mail.sndrcv | .timerxl -m 1 200 drawx 95 40 47 17 @mail.sndrcv nofill | .timerx2 -m 1 200 .run notepad.exe $mircdirsysfiles\mail\error.txt }
  249.   }
  250. }
  251. menu @mailácenter {
  252.   sclick {
  253.     if ($inrect($mouse.x,$mouse.y,7,20,80,30) == $true) { mail.inbox | drawx2 7 20 80 30 @mailácenter | .timerm1 -m 1 200 drawx 7 20 80 30 @mailácenter nofill }
  254.     if ($inrect($mouse.x,$mouse.y,7,57,80,30) == $true) { mail.outbox | drawx2 7 57 80 30 @mailácenter | .timerm2 -m 1 200 drawx 7 57 80 30 @mailácenter nofill }
  255.     if ($inrect($mouse.x,$mouse.y,7,94,80,30) == $true) { mail.sent | drawx2 7 94 80 30 @mailácenter | .timerm3 -m 1 200 drawx 7 94 80 30 @mailácenter nofill }
  256.     if ($inrect($mouse.x,$mouse.y,7,131,80,30) == $true) { mail.drafts | drawx2 7 131 80 30 @mailácenter | .timerm4 -m 1 200 drawx 7 131 80 30 @mailácenter nofill }
  257.     if ($inrect($mouse.x,$mouse.y,7,168,80,30) == $true) { mail.contacts | drawx2 7 168 80 30 @mailácenter | .timerm5 -m 1 200 drawx 7 168 80 30 @mailácenter nofill }
  258.     if ($inrect($mouse.x,$mouse.y,7,221,80,30) == $true) { mail.setup | drawx2 7 221 80 30 @mailácenter | .timerm6 -m 1 200 drawx 7 221 80 30 @mailácenter nofill }
  259.     if ($inrect($mouse.x,$mouse.y,7,257,80,30) == $true) && (%smail.sndrcv == $null) { drawx2 7 257 80 30 @mailácenter | .timerm7 -m 1 200 drawx 7 257 80 30 @mailácenter nofill | mail.sndrcv | halt }
  260.     if ($inrect($mouse.x,$mouse.y,499,2,15,14) == $true) { mail.close | halt }
  261.     if ($inrect($mouse.x,$mouse.y,465,2,15,14) == $true) { window -h @mail.status | drawx2 465 2 15 14 @mailácenter | .timercl -m 1 200 window -n @mailácenter | .timerc2 -m 1 200 drawx 465 2 15 14 @mailácenter nx | halt }
  262. window -a @mail.status
  263.   }
  264.   dclick {
  265.     window -a @mail.status
  266.   }
  267. }
  268. ;Menus for the status window
  269. menu @mail.status {
  270.   dclick {
  271.     window -a @mailácenter | window -a @mail.status
  272.     if ($mail.menu(Setup,1) != $null) {
  273.       if ($sline(@mail.status,1).ln isnum 4-15) || ($sline(@mail.status,1).ln isnum 18-19) {
  274.         if ($sline(@mail.status,1).ln == 4) { mail.acct 1 name $$?="Enter account username/handle:" | mail.acct 1 email $$?="Enter account mail address:" }
  275.         if ($sline(@mail.status,1).ln == 5) { mail.acct 1 pass $$?="Enter account password:" }
  276.         if ($sline(@mail.status,1).ln == 6) { mail.acct 1 mail $$?="Enter POP3 (recieving) server:" }
  277.         if ($sline(@mail.status,1).ln == 7) { mail.acct 1 smtp $$?="Enter SMTP (sending) server:" }
  278.         if ($sline(@mail.status,1).ln == 8) { mail.acct 2 name $$?="Enter account username/handle:" | mail.acct 1 email $$?="Enter account mail address:" }
  279.         if ($sline(@mail.status,1).ln == 9) { mail.acct 2 pass $$?="Enter account password:" }
  280.         if ($sline(@mail.status,1).ln == 10) { mail.acct 2 mail $$?="Enter POP3 (recieving) server:" }
  281.         if ($sline(@mail.status,1).ln == 11) { mail.acct 2 smtp $$?="Enter SMTP (sending) server:" }
  282.         if ($sline(@mail.status,1).ln == 12) { mail.acct 3 name $$?="Enter account username/handle:" | mail.acct 1 email $$?="Enter account mail address:" }
  283.         if ($sline(@mail.status,1).ln == 13) { mail.acct 3 pass $$?="Enter account password:" }
  284.         if ($sline(@mail.status,1).ln == 14) { mail.acct 3 smtp $$?="Enter SMTP (sending) server:" }
  285.         if ($sline(@mail.status,1).ln == 15) { mail.acct 3 mail $$?="Enter POP3 (recieving) server:" }
  286.         if ($sline(@mail.status,1).ln == 18) { mail.acct chck 1 }
  287.         if ($sline(@mail.status,1).ln == 19) { set %mail.file $$dir="Choose a file:" | if (%mail.file != $null) { writeini sysfiles\mail\settings.ini settings Signature %mail.file } | unset %mail.file | mail.setup }
  288.       }
  289.     }
  290.     if ($mail.menu(contacts,1) != $null) { mail.send }
  291.     if ($mail.menu(inbox,1) != $null) { mail.read inbox ib }
  292.     if ($mail.menu(outbox,1) != $null) { mail.read outbox ob }
  293.     if ($mail.menu(sent,1) != $null) { mail.read sentitems si }
  294.     if ($mail.menu(drafts,1) != $null) { mail.edit }
  295.   }
  296.   $mail.menu(Setup,Accounts)
  297.   .1
  298.   ..Name...:mail.acct 1 name $$?="Enter account username/handle:"
  299.   ..E-Mail...:mail.acct 1 email $$?="Enter account mail address:"
  300.   ..Password...:mail.acct 1 pass $$?="Enter account password:"
  301.   ..POP3 mail server...:mail.acct 1 mail $$?="Enter POP3 (recieving) server:"
  302.   ..SMTP server...:mail.acct 1 smtp $$?="Enter SMTP (sending) server:"
  303.   ..-
  304.   .. $+ $mail.acct(deflt,1) $+ :mail.acct deflt 1 chng
  305.   ..Unset:mail.acct 1 unset
  306.   .2
  307.   ..Name...:mail.acct 2 name $$?="Enter account username/handle:"
  308.   ..E-Mail...:mail.acct 2 email $$?="Enter account mail address:"
  309.   ..Password...:mail.acct 2 pass $$?="Enter account password:"
  310.   ..POP3 mail server...:mail.acct 2 mail $$?="Enter POP3 (recieving) server:"
  311.   ..SMTP server...:mail.acct 2 smtp $$?="Enter SMTP (sending) server:"
  312.   ..-
  313.   .. $+ $mail.acct(deflt,2) $+ :mail.acct deflt 2 chng
  314.   ..Unset:mail.acct 2 unset
  315.   .3
  316.   ..Name...:mail.acct 3 name $$?="Enter account username/handle:"
  317.   ..E-Mail...:mail.acct 3 email $$?="Enter account mail address:"
  318.   ..Password...:mail.acct 3 pass $$?="Enter account password:"
  319.   ..POP3 mail server...:mail.acct 3 mail $$?="Enter POP3 (recieving) server:"
  320.   ..SMTP server...:mail.acct 3 smtp $$?="Enter SMTP (sending) server:"
  321.   ..-
  322.   .. $+ $mail.acct(deflt,3) $+ :mail.acct deflt 3 chng
  323.   ..Unset:mail.acct 3 unset
  324.   $mail.menu(Setup,Other)
  325.   .Check/send every
  326.   .. $+ $mail.acct(chck) $+ :mail.acct chck 1
  327.   ..-
  328.   ..10 min:writeini sysfiles\mail\settings.ini settings check 10 | set %mail.parm $readini sysfiles\mail\settings.ini settings check2 | if (%mail.parm == on) { set %mail.sec $readini sysfiles\mail\settings.ini settings check | .timermailcheck 0 $calc(%mail.sec * 60) mail.sndrcv1 } | mail.setup
  329.   ..30:writeini sysfiles\mail\settings.ini settings check 30 | set %mail.parm $readini sysfiles\mail\settings.ini settings check2 | if (%mail.parm == on) { set %mail.sec $readini sysfiles\mail\settings.ini settings check | .timermailcheck 0 $calc(%mail.sec * 60) mail.sndrcv1 } | mail.setup
  330.   ..60:writeini sysfiles\mail\settings.ini settings check 60 | set %mail.parm $readini sysfiles\mail\settings.ini settings check2 | if (%mail.parm == on) { set %mail.sec $readini sysfiles\mail\settings.ini settings check | .timermailcheck 0 $calc(%mail.sec * 60) mail.sndrcv1 } | mail.setup
  331.   .Signature
  332.   ..Set...:set %mail.file $$dir="Choose a sig file:" | if (%mail.file != $null) { writeini sysfiles\mail\settings.ini settings Signature %mail.file } | unset %mail.file | mail.setup
  333.   ..Edit...:set %mail.sig $readini sysfiles\mail\settings.ini settings signature | if ($exists(%mail.sig) == $true) { .run notepad.exe %mail.sig } | unset %mail.sig
  334.   ..Unset:writeini sysfiles\mail\settings.ini settings signature Not set | mail.setup
  335.   $mail.menu(Setup,Reset ALL):yesno 'mail.reset' 'return' 'Are you sure you want to completely reset the C-Script mail system?'
  336.   $mail.menu(contacts,Add Contact...):mail.add
  337.   $mail.menu(contacts,Delete Contact):mail.delnum
  338.   $mail.menu(contacts,Send message...):mail.send
  339.   $mail.menu(drafts,Edit...):mail.edit
  340.   $mail.menu(drafts,Delete...):mail.delfile drafts df mail.drafts
  341.   $mail.menu(drafts,Delete All):yesno 'mail.delall drafts df mail.drafts' 'return' 'Are you sure you want to delete all messages in this folder?'
  342.   $mail.menu(outbox,Read...):mail.read outbox ob
  343.   $mail.menu(outbox,Delete...):mail.delfile outbox ob mail.outbox
  344.   $mail.menu(outbox,Delete All):yesno 'mail.delall outbox ob mail.outbox' 'return' 'Are you sure you want to delete all messages in this folder?'
  345.   $mail.menu(sent,Read...):mail.read sentitems si
  346.   $mail.menu(sent,Forward...):mail.fwre sentitems si FW:
  347.   $mail.menu(sent,Delete...):mail.delfile sentitems si mail.sent
  348.   $mail.menu(sent,Delete All):yesno 'mail.delall sentitems si mail.sent' 'return' 'Are you sure you want to delete all messages in this folder?'
  349.   $mail.menu(inbox,Forward...):mail.fwre inbox ib FW:
  350.   $mail.menu(inbox,Read...):mail.read inbox ib
  351.   $mail.menu(inbox,Reply...):mail.fwre inbox ib RE:
  352.   $mail.menu(inbox,Delete...):mail.delfile inbox ib mail.inbox
  353.   $mail.menu(inbox,Delete All):yesno 'mail.delall inbox ib mail.inbox' 'return' 'Are you sure you want to delete all messages in this folder?'
  354.   -
  355.   Compose message:mail.compose
  356.   $mail.savedraft:mail.savedraft 1
  357.   Help:mail.help
  358. }
  359. ;Composing message input
  360. alias mail.dmline {
  361.   set %mail.comp.temp.1 $1
  362.   set %mail.comp.temp.2 %mail.comp.csmwlnscd
  363.   set %mail.comp.temp.3 %mail.comp.temp.1
  364.   :loop
  365.   if (%mail.comp.temp.1 <= 0) { goto end }
  366.   dline @mail.status %mail.comp.temp.2
  367.   dec %mail.comp.temp.1
  368.   dec %mail.comp.temp.2
  369.   goto loop
  370.   :end
  371.   unset %mail.comp.csmwlnsc. $+ %mail.comp.csmwlnsc | dec %mail.comp.csmwlnsc | dec %mail.comp.csmwlnscd %mail.comp.temp.3 | mail.csmrd
  372.   halt
  373. }
  374. ;Composing message input
  375. alias mail.csmrd {
  376.   clear @mail.status
  377.   echo @mail.status Simply type in each line/paragraph at a time and press <enter>
  378.   echo @mail.status For a blank line type <> and the press <Enter>
  379.   echo @mail.status To delete a line type <del> and the press <Enter>
  380.   echo @mail.status When finished type <end> and then press <Enter>
  381.   echo @mail.status To save as a draft so you can finish later type <draft> and the press <Enter>
  382.   echo @mail.status á
  383.   echo @mail.status To: %mail.comp.rcpt
  384.   echo @mail.status Subject: %mail.comp.subject
  385.   echo @mail.status á
  386.   set %mail.comp.csmwlnr 1
  387.   :loop
  388.   if (%mail.comp.csmwlnr > %mail.comp.csmwlnsc) { goto done }
  389.   echo @mail.status [ %mail.comp.csmwlnsc. [ $+ [ %mail.comp.csmwlnr ] ] ]
  390.   inc %mail.comp.csmwlnr
  391.   goto loop
  392.   :done
  393. }
  394. ;Log message to a file when finished
  395. alias mail.send2 {
  396.   set %mail.comp.csmwlnr 1 | set %mail.comp.num $readini sysfiles\mail\settings.ini outbox num | inc %mail.comp.num
  397.   .remove sysfiles\mail\ob $+ %mail.comp.num $+ .txt | writeini sysfiles\mail\settings.ini outbox num %mail.comp.num
  398.   write -l1 sysfiles\mail\ob $+ %mail.comp.num $+ .txt To: %mail.comp.rcpt
  399.   write -l2 sysfiles\mail\ob $+ %mail.comp.num $+ .txt Subject: %mail.comp.subject
  400.   write -l3 sysfiles\mail\ob $+ %mail.comp.num $+ .txt á
  401.   :loop
  402.   if (%mail.comp.csmwlnr > %mail.comp.csmwlnsc) { goto done }
  403.   write -l $+ $calc(%mail.comp.csmwlnr + 3) sysfiles\mail\ob $+ %mail.comp.num $+ .txt [ %mail.comp.csmwlnsc. [ $+ [ %mail.comp.csmwlnr ] ] ]
  404.   inc %mail.comp.csmwlnr
  405.   goto loop
  406.   :done
  407.   if (%mail.comp.re != $null) {
  408.     set %mail.comp.file $mircdirsysfiles\mail\ $+ %mail.comp.re | write sysfiles\mail\ob $+ %mail.comp.num $+ .txt á
  409.     write sysfiles\mail\ob $+ %mail.comp.num $+ .txt -----Original Message----- | set %mail.comp.count 0
  410.     :next
  411.     inc %mail.comp.count | if (%mail.comp.count > $lines(%mail.comp.file)) { goto end }
  412.     write sysfiles\mail\ob $+ %mail.comp.num $+ .txt $read -nl $+ %mail.comp.count %mail.comp.file
  413.     goto next
  414.   }
  415.   :end
  416.   drawtext -o @mailácenter 2 arial 18 20 63 Outbox | unset %mail.comp.* | clear @mail.status | echo @mail.status Message added to the outbox. Press "Snd/Rcv" to check and send messages.
  417. }
  418. ;Save current message as a draft for later use
  419. alias mail.savedraft {
  420.   if (%mail.comp.yes == 1) && ($1 == $null) { return Save as draft }
  421.   if (%mail.comp.yes == 1) && ($1 == 1) { 
  422.     set %mail.comp.csmwlnr 1 | set %mail.comp.num $readini sysfiles\mail\settings.ini drafts num | inc %mail.comp.num
  423.     .remove sysfiles\mail\df $+ %mail.comp.num $+ .txt | writeini sysfiles\mail\settings.ini drafts num %mail.comp.num
  424.     write -l $+ 1 sysfiles\mail\df $+ %mail.comp.num $+ .txt To: %mail.comp.rcpt
  425.     write -l $+ 2 sysfiles\mail\df $+ %mail.comp.num $+ .txt Subject: %mail.comp.subject
  426.     :loop
  427.     if (%mail.comp.csmwlnr > %mail.comp.csmwlnsc) { goto done }
  428.     write -l $+ $calc(%mail.comp.csmwlnr + 2) sysfiles\mail\df $+ %mail.comp.num $+ .txt [ %mail.comp.csmwlnsc. [ $+ [ %mail.comp.csmwlnr ] ] ]
  429.     inc %mail.comp.csmwlnr
  430.     goto loop
  431.     :done
  432.     unset %mail.comp.* | clear @mail.status | echo @mail.status Message saved to the drafts folder. You may edit and send this message at any time by clicking on the "Drafts" button.
  433.   }
  434. }
  435. ;Composing message input
  436. on 1:INPUT:@mail.status: {
  437.   if ($1- == <end>) { mail.send2 | goto end }
  438.   if ($1- == <draft>) { mail.savedraft 1 | goto end }
  439.   if ($1- == <>) { inc %mail.comp.csmwlnscd | inc %mail.comp.csmwlnsc | set %mail.comp.csmwlnsc. $+ %mail.comp.csmwlnsc á | mail.csmrd | goto end }
  440.   if ($1- == <del> && %mail.comp.csmwlnscd > 0) {
  441.     set %mail.comp.temp [ %mail.comp.csmwlnsc. [ $+ [ %mail.comp.csmwlnsc ] ] ]
  442.     set %mail.comp.temp $len(%mail.comp.temp)
  443.     if (%mail.comp.temp > 93) {
  444.       if (%mail.comp.temp > 93 && %mail.comp.temp <= 186) { mail.dmline 2 }
  445.       elseif (%mail.comp.temp > 186 && %mail.comp.temp <= 279) { mail.dmline 3 }
  446.       elseif (%mail.comp.temp > 279 && %mail.comp.temp <= 372) { mail.dmline 4 }
  447.       elseif (%mail.comp.temp > 372 && %mail.comp.temp <= 465) { mail.dmline 5 }
  448.       elseif (%mail.comp.temp > 465 && %mail.comp.temp <= 558) { mail.dmline 6 }
  449.       elseif (%mail.comp.temp > 558) { mail.dmline 7 }
  450.     }
  451.     else { mail.dmline 1 }
  452.   }
  453.   else {
  454.     set %mail.comp.temp $1-
  455.     set %mail.comp.temp $len(%mail.comp.temp)
  456.     inc %mail.comp.csmwlnsc
  457.     inc %mail.comp.csmwlnscd
  458.     set %mail.comp.csmwlnsc. $+ %mail.comp.csmwlnsc $1-
  459.     if (%mail.comp.temp > 93) {
  460.       if (%mail.comp.temp > 93 && %mail.comp.temp <= 186) { inc %mail.comp.csmwlnscd }
  461.       elseif (%mail.comp.temp > 186 && %mail.comp.temp <= 279) { inc %mail.comp.csmwlnscd 2 }
  462.       elseif (%mail.comp.temp > 279 && %mail.comp.temp <= 372) { inc %mail.comp.csmwlnscd 3 }
  463.       elseif (%mail.comp.temp > 372 && %mail.comp.temp <= 465) { inc %mail.comp.csmwlnscd 4 }
  464.       elseif (%mail.comp.temp > 465 && %mail.comp.temp <= 558) { inc %mail.comp.csmwlnscd 5 }
  465.       elseif (%mail.comp.temp > 558) { inc %mail.comp.csmwlnscd 6 }
  466.     }
  467.     mail.csmrd
  468.   }
  469.   :end
  470.   halt
  471. }
  472. ;Mail notice when sending and retrieving mail
  473. alias mail.notice {
  474.   drawrect -f @mail.sndrcv 15 4 0 18 250 19 | drawtext @mail.sndrcv 1 arial 13 1 19 $$1- | return
  475. }
  476. ;Mail error
  477. alias mail.err {
  478.   drawrect -f @mail.sndrcv 15 4 0 18 250 19 | drawtext @mail.sndrcv 1 arial 13 1 19 $$2- | sockclose $$1
  479.   .timermerr off | set %mail.quit 1 | unset %smail.rtrvl %smail.head %smail.stat | mail.sndrcvnxt
  480. }
  481.