Posted to tcl by venks at Wed Aug 05 18:17:33 GMT 2009view raw

  1.  
  2. proc smtp_email {name to subj body} {
  3. set smtp_server 10.0.0.158; # change this to your server.
  4. set my_email me@domain.com; # change this to your email address.
  5. set s [socket $smtp_server 25]
  6. gets $s answer
  7. if {[lindex $answer 0] != 220} {error $answer}
  8. puts $s "MAIL FROM:<$my_email>";flush $s
  9. gets $s answer
  10. if {[lindex $answer 0] != 250} {error $answer}
  11. puts $s "RCPT TO:<$my_email>";flush $s
  12. gets $s answer
  13. if {[lindex $answer 0] != 250} {error $answer}
  14. puts $s DATA;flush $s
  15. gets $s answer
  16. if {[lindex $answer 0] != 354} {error $answer}
  17. puts $s "From: $name <$my_email>"
  18. puts $s "Return-Path: $name <$my_email>"
  19. puts $s "To: $to"
  20. puts $s "Subject: $subj"
  21. puts $s "\n."
  22. flush $s
  23. gets $s answer
  24. if {[lindex $answer 0] != 250} {error $answer}
  25. close $s
  26. }
  27.  
  28.  
  29. # I pass in a different name from each caller. e.g.
  30. # smtp_email "Nightly Backup" sysadmin@domain.com "Backup OK" "At [clock format [clock seconds]]"
  31.