Adverti horiz upsell

Nuke Mail 1.0.1 for Nuke

Mail from within Nuke.

Button download



Last Modified:05/15/2007
File Size: 6.86 KB
(This is an update of the text only. First version had missing Backslashes, so the example code was incorrect.)

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).


Unzip and put the "mail"-folder somewhere in your include path and add this line in the appropriate "init.tcl":

plugin_addpath "mail"


# filmgateMail
# a Tcl mail command by Hakan Blomdahl
# With help from:
# Example:
# set tolist {}
# lappend tolist {"The Boss Himself" }
# lappend tolist
# lappend tolist
# filmgateMail
# --debugcmd puts
# --method ESMTP
# --auth LOGIN

# --username
# --password mypassword
# --server
# --port 25
# --domain [info hostname]
# --from
# --replyto
# --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 )


# This example mails a dust busting report to your in house producer:

proc mailMyDustBustedFrames {} {

set subject "Dust bust report on script "[file tail [knob]]""
set mailMsg ""

append mailMsg "Dust bust report on script "[file tail [knob]]""
append mailMsg "n"[knob]""

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;

--debugcmd puts
--method ESMTP
--auth LOGIN
--username ""
--password "pasword"
--port 587
--domain [info hostname]
--from ""
--replyto ""
--to ""
--subject ${subject}
--msg ${mailMsg}

message "Mail sent"

menu "Report/Dust bust report" "" { mailMyDustBustedFrames }

Please use the Bug System to report any bugs.
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.