Here is a mail-script in Tcl. Might help in production.
It has gone through a lots of different mail providers, and by now support 3 different types of authentication (well, 2 really. One is without authentication).
Installation:
Unzip and put the "mail"-folder somewhere in your include path and add this line in the appropriate "init.tcl":
plugin_addpath "mail"
Usage:
#
# filmgateMail
# a Tcl mail command by Hakan Blomdahl
#
# With help from:
# https://www.technoids.org/saslmech.html
#
# Example:
#
# set tolist {}
# lappend tolist {"The Boss Himself" boss@mydomain.com }
# lappend tolist anotherperson@mydomain.com
# lappend tolist yetanotherperson@mydomain.com
#
#
# filmgateMail
# --debugcmd puts
# --method ESMTP
# --auth LOGIN
# --username myname@mydomain.com
# --password mypassword
# --server smtp.mydomain.com
# --port 25
# --domain [info hostname].mydomain.com
# --from myname@mydomain.com
# --replyto myname@mydomain.com
# --to ${tolist}
# --subject "This is a mail"
# --msg "Hi there, this is a message"
#
#
# If "--method" is set to "ESMTP", the following arguments is required:
# --auth
# --username
# --password
#
# They are ignored with "--method SMTP".
#
#
# Only LOGIN and PLAIN is supported as authentication methods. ( --auth LOGIN )
#
Example:
proc mailMyDustBustedFrames {} {
set subject "Dust bust report on script "[file tail [knob root.name]]""
set mailMsg ""
append mailMsg "Dust bust report on script "[file tail [knob root.name]]""
append mailMsg "n"[knob root.name]""
set dustBustNodes {}
foreach node [nodes] {
if { [class ${node}] eq "DustBust" } {
lappend dustBustNodes ${node}
}
}
foreach node ${dustBustNodes} {
foreach stroke [value "${node}.points"] {
set dustBustedFrames([lindex ${stroke} 0]) 1
# puts "painted: [lindex ${stroke} 0]"
}
}
# For our producer.
if { [array size dustBustedFrames] > 0 } {
append mailMsg "n"
append mailMsg "n[array size dustBustedFrames] Dust Busted frames:"
append mailMsg "n[lsort [array names dustBustedFrames]]"
append mailMsg "n"
} else {
append mailMsg "n"
append mailMsg "No dustbusted frames.n"
}
# Prepare a panel
set msgPanel {}
lappend msgPanel {"Subject" subject}
lappend msgPanel {"Message" mailMsg n}
# Display panel
if [catch {
panel -w800 "Dust Bust Report Panel" ${msgPanel}
}] return;
filmgateMail
--debugcmd puts
--method ESMTP
--auth LOGIN
--username "a_generic_mail_account@yourdomain.com"
--password "pasword"
--server mail.yourdomain.com
--port 587
--domain [info hostname].yourdomain.com
--from "a_generic_mail_account@yourdomain.com"
--replyto "a_generic_mail_account@yourdomain.com"
--to "producer@yourdomain.com"
--subject ${subject}
--msg ${mailMsg}
message "Mail sent"
return
}
menu "Report/Dust bust report" "" { mailMyDustBustedFrames }
Please use the Feature Requests to give me ideas.
Please use the Support Forum if you have any questions or problems.
Please rate and review in the Review section.