smtp_send_email
Given the text of an e-mail template file with all global variables already substituted, sends the e-mail out using Simple Mail Transfer Protocol (SMTP). The e-mail template specifies the candidate mail server addresses, To addresses, CC addresses, From address, subject line, and e-mail body.
Note |
A list of candidate e-mail servers can be provided so that the library will try to connect the servers on the list one by one until it can successfully connect to one of them. |
Syntax
smtp_send_email text
Arguments
text |
(Mandatory) The text of an e-mail template file with all global variables already substituted. |
Result String
None
Set _cerrno
-
Wrong 1st line format--Mailservername:list of server names.
-
Wrong 2nd line format--From:from-address.
-
Wrong 3rd line format--To:list of to-addresses.
-
Wrong 4th line format--CC:list of cc-addresses.
-
Error connecting to mail server:--$sock closed by remote server (where $sock is the name of the socket opened to the mail server).
-
Error connecting to mail server:--$sock reply code is $k instead of the service ready greeting (where $sock is the name of the socket opened to the mail server; $k is the reply code of $sock).
-
Error connecting to mail server:--cannot connect to all the candidate mail servers.
-
Error disconnecting from mail server:--$sock closed by remote server (where $sock is the name of the socket opened to the mail server).
Sample Scripts
After all needed global variables in the e-mail template are defined:
if [catch {smtp_subst [file join $tcl_library email_template_sm]} result] {
puts stderr $result
exit 1
}
if [catch {smtp_send_email $result} result] {
puts stderr $result
exit 1
}