set comment {
 ==============================================================================

   Navn          : Peter Laulund, KMS

   Oprettet dato : 12 april  2005
                    4 august 2005 version 2

   Beskrivelse   : Version 2 - et generelt interface til blat
                    - der er nu en funktion der sender alle mail
                    - der er skrevet en funktion der kan indlæse en text fil
                      med en template til mailen
                    - der sendes nu en mail til de der skal have data samt en
                      rapport til mig og jørgen.
                    - der arbejdes mere konsekvent med lister til brug for
                      kommandoer
                    - ved brug af kommandoen -body 'text' behøver jeg ikke bruge
                      en fil til selve teksten
                    - NB. alle vedhæftninger skal ligge i gsPath2Temp

 =============================================================================}
unset comment

# =============================================================================
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
namespace eval blatMail {
namespace export sendMail
proc sendMail {cmd {msgFile -}} {

     set logF   "$::gsPath2MyFme/LOG/MAIL/[ getDate2 ].log"
     set worDir [pwd]
     cd $::gsPath2Temp

     lappend mcmd  exec "$::gsPath2App/util/blat/lib/blat.exe"
     lappend mcmd  [file tail $msgFile ]
     lappend mcmd  "-server" "notes8.kms.dk"
     lappend mcmd  "-q"
     lappend mcmd  "-log" "$logF" "-timestamp"

   #  puts $mcmd ; puts $cmd
     switch -- [ catch { eval $mcmd $cmd } errMsg ] {
        0  { set retVal 0
             puts "Det gik godt, mail sendt" }
        1  { set retVal 1
             puts "Det gik ikke godt, mail ikke sendt.\nKommando var: $mcmd $cmd \nFejl var \n$errMsg" }
     }
     if {[file exists $msgFile]} { file delete $msgFile}
     cd $worDir
     return $retVal
}

# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
namespace export getMailFromFile
proc getMailFromFile {templateFile {rVal ""}} {

     upvar cmd cmd
     set cmd [list]
     set templateFile [regsub -all -- {\\} $templateFile {/}]
     foreach l [GetListFromFile $templateFile] {
           #puts $l
           if { [regexp -- {^[ ]*#} $l ]} {continue }
           if { [regexp -- {^<(-[a-z]+)><(.*)>} [string trim $l] match tag val] } {
                lappend cmd "$tag" $val
                continue
           }
           lappend msgLst $l
     }

     if {![string equal $rVal ""]} {
         set msgLst [string map $rVal $msgLst ]
     }

     lappend msgLst {} {}
     lappend cmd "-body" [join $msgLst \n ]
     return
}

namespace export mailZipFiler
} ; namespace import -force blatMail::*

# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# =============================================================================