SMTP New transporter
SMTP New transporter( server : Object ) : 4D.SMTPTransporter
Parameter | Type | Description | |
---|---|---|---|
server | Object | → | Mail server information |
Function result | 4D.SMTPTransporter | ← | SMTP transporter object |
History
Release | Changes |
---|---|
18 | New logFile property |
17 R5 | New bodyCharset and headerCharset properties |
17 R4 | Added |
Description
The SMTP New transporter
command configures a new SMTP connection according to the server parameter and returns a new SMTP transporter object object. The returned transporter object will then usually be used to send emails.
This command does not open any connection to the SMTP server. The SMTP connection is actually opened when the
.send()
function is executed.The SMTP connection is automatically closed:
In the server parameter, pass an object containing the following properties:
server | Default value (if omitted) |
---|---|
.acceptUnsecureConnection : Boolean True if 4D is allowed to establish an unencrypted connection | False |
.accessTokenOAuth2: Text .accessTokenOAuth2: Object Text string or token object representing OAuth2 authorization credentials. Used only with OAUTH2 authenticationMode . If accessTokenOAuth2 is used but authenticationMode is omitted, the OAuth 2 protocol is used (if allowed by the server). Not returned in SMTP transporter object. | none |
.authenticationMode : Text the authentication mode used to open the session on the mail server | the most secure authentication mode supported by the server is used |
.bodyCharset : Text the charset and encoding used for the body part of the email | mail mode UTF8 (US-ASCII_UTF8_QP) |
.connectionTimeOut : Integer the maximum wait time (in seconds) allowed to establish a connection to the server | 30 |
.headerCharset : Text the charset and encoding used for the email header | mail mode UTF8 (US-ASCII_UTF8_QP) |
.host : Text the name or the IP address of the host server | mandatory |
.keepAlive : Boolean True if the SMTP connection must be kept alive until the transporter object is destroyed | True |
.logFile : Text the path of the extended log file defined (if any) for the mail connection | none |
password : Text User password for authentication on the server. Not returned in SMTP transporter object. | none |
.port : Integer the port number used for mail transactions | 587 |
.sendTimeOut : Integer the maximum wait time (in seconds) of a call to .send( ) before a timeout occurs | 100 |
.user : Text the user name used for authentication on the mail server | none |
Result
The function returns a SMTP transporter object. All returned properties are read-only.
Example
$server:=New object
$server.host:="smtp.gmail.com" //Mandatory
$server.port:=465
$server.user:="4D@gmail.com"
$server.password:="XXXX"
$server.logFile:="LogTest.txt" //Extended log to save in the Logs folder
var $transporter : 4D.SMTPTransporter
$transporter:=SMTP New transporter($server)
$email:=New object
$email.subject:="my first mail "
$email.from:="4d@gmail.com"
$email.to:="4d@4d.com;test@4d.com"
$email.textBody:="Hello World"
$email.htmlBody:="<h1>Hello World</h1><h4>'Neque porro quisquam est qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit...'</h4>\
<p>There are many variations of passages of Lorem Ipsum available."\
+"The generated Lorem Ipsum is therefore always free from repetition, injected humour, or non-characteristic words etc.</p>"
$status:=$transporter.send($email)
If(Not($status.success))
ALERT("An error occurred sending the mail: "+$status.message)
End if