system.net.sendEmail
This function is used in Python Scripting.
Description​
Sends an email through the given SMTP server. Note that this email is relayed first through the Gateway; the Client host machine doesn't need network access to the SMTP server.
Note that you can use this function to send emails as text messages. Most phone service providers offer a domain that can be used to convert emails into text messages. For example: 1234567890@phone.domain.com. Contact your cell carrier for details.
Ignition supports more attachment file formats with associated MIME type mappings, including .ics, .ifb, .otf, and .wav. Additional or modified mappings may be specified in \webserver\webdefault.xml:
<!-- Add <mime-mapping> blocks like the one below or modify default mappings -->
<!-- Map the file extension 'pwn' to the specified mime-type: -->
<mime-mapping>
<extension>pwn</extension>
<mime-type>application/vnd.3m.post-it-notes</mime-type>
</mime-mapping>
Client Permission Restrictions​
This scripting function has no Client Permission restrictions.
Syntax​
This function accepts keyword arguments.
system.net.sendEmail(smtp, fromAddr, [subject], [body], [html], to, [attachmentNames], [attachmentData], [timeout], [username], [password], [priority], [smtpProfile], [cc], [bcc], [retries], [replyTo])
Parameters​
| Type | Parameter | Description |
|---|---|---|
| String | smtp | The address of an SMTP server to send the email through, like "mail.example.com". A port can be specified, like "mail.example.com:25". SSL can also be forced, like "mail.example.com:25:tls". |
| String | fromAddr | An email address to have the email come from. |
| String | subject | The subject line for the email. [optional] |
| String | body | The body text of the email. [optional] |
| Boolean | html | A flag indicating whether or not to send the email as an HTML email. Will auto-detect if omitted. [optional] |
| List[String] | to | A list of email addresses to send to. Note: This parameter becomes optional if either the cc or bcc parameter is specified. |
| List[String] | attachmentNames | A list of attachment names. Attachment names must have the correct extension for the file type or an error will occur.[optional] |
| List[Byte] | attachmentData | A list of attachment data, in binary format.[optional] |
| Integer | timeout | A timeout for the email, specified in milliseconds. Defaults to 300,000 milliseconds (5 minutes). [optional] |
| String | username | If specified, will be used to authenticate with the SMTP host. [optional] |
| String | password | If specified, will be used to authenticate with the SMTP host. [optional] |
| String | priority | Priority for the message, from "1" to "5", with "1" being highest priority. Defaults to "3" (normal) priority. [optional] |
| String | smtpProfile | If specified, the named SMTP profile defined in the Gateway will be used. If this keyword is present, the smtp, username, and password keywords will be ignored. [optional] |
| List[String] | cc | A list of email addresses to carbon copy. Only available if an smtpProfile is used. [optional] |
| List[String] | bcc | A list of email addresses to blind carbon copy. Only available if an smtpProfile is used. [optional] |
| Integer | retries | The number of additional times to retry sending on failure. Defaults to 0. Only available if an smtpProfile is used. [optional] |
| List[String] | replyTo | An optional list of addresses to have the recipients reply to. If omitted, this defaults to the from address. [optional] |
Returns​
Nothing
Scope​
Gateway, Vision Client, Perspective Session
Code Examples​
# This code would send a simple plain-text email to a single recipient, with no attachments
body = "Hello, this is an email."
recipients = ["bobsmith@mycompany.com"]
system.net.sendEmail("mail.mycompany.com",
"myemail@mycompany.com", "Here is the email!", body, 0, recipients)
# This code would send an HTML-formatted email to multiple recipients (including
# cellphones) with no attachments
body = "<HTML><BODY><H1>This is a big header</H1>"
body += "And this text is <font color='red'>red</font></BODY></HTML>"
recipients = ["bobsmith@mycompany.com", "1235558383@vtext.com", "sally@acme.org", "1235557272@vtext.com"]
myuser = "mycompany"
mypass = "1234"
system.net.sendEmail(smtp="mail.mycompany.com", fromAddr="myemail@mycompany.com",
subject="Here is the email!", body=body, html=1, to=recipients, username=myuser, password=mypass)
# This code ask the user for an attachment file and attaches the file.
filePath = system.file.openFile()
if filePath != None:
# This gets the filename without the C:\folder stuff
fileName = filePath.split("\\")[-1]
fileData = system.file.readFileAsBytes(filePath)
smtp = "mail.mycompany.com"
sender = "myemail@mycompany.com"
subject = "Here is the file you requested"
body = "Hello, this is an email."
recipients = ["bobsmith@mycompany.com"]
system.net.sendEmail(smtp, sender, subject, body, 0, recipients, [fileName], [fileData])
# This code would send an HTML-formatted email to multiple recipients, including a cc, with no attachments,
# using an smtp server defined in the Gateway
body = "<HTML><BODY><H1>This is a big header</H1>"
body += "And this text is <font color='red'>red</font></BODY></HTML>"
recipients = ["bobsmith@mycompany.com", "1235558383@vtext.com", "sally@acme.org", "1235557272@vtext.com"]
cc_recipients = ["annejones@mycompany.com"]
smtp_server = "mySmtpServer"
system.net.sendEmail(smtpProfile=smtp_server, fromAddr="myemail@mycompany.com", subject="Here is the email!", body=body, html=1, to=recipients, cc=cc_recipients)