Using GMail
To connect to GMail the following settings supplied in the properties Array:
var userName = 'xxx'; var passWord = 'yyy'; var properties = new Array(); properties[0] = 'mail.smtp.host=smtp.gmail.com'; properties[1] = 'mail.smtp.auth=true'; properties[2] = 'mail.smtp.username=' + userName; properties[3] = 'mail.smtp.password=' + passWord; properties[4] = 'mail.smtp.port=587'; properties[5] = 'mail.smtp.starttls.enable=true';
Return Types
{column:padding=0px|width=80px}{column}{column}{column}
Server Property Summery
{column:padding=0px|width=80px}{column}{column}{column}
Method Summery
createBinaryAttachment(filename, binarydata, [mimeType])
Creates a binary attachment object.
createTextAttachment(filename, textdata, [mimeType])
Creates a text based attachment object.
getLastSendMailExceptionMsg()
Get the exception that occurred in the last sendMail attempt (null if no exception occurred).
getMailMessage(binaryblob/string)
Helper method, returns MailMessage object from binary or 7bits string.
String[]
getPlainMailAddresses(addressesString)
Helper method to only get the plain addresses.
receiveMail(userName, password, leaveMsgsOnServer, [receiveMode], [onlyreceiveMsgWithSentDate], [overridePreferencePOP3Host/properties array])
Receive mails from pop3 account.
sendMail([to[,to2,toN], [from[,reply], subject, msgText, [cc,cc2,ccN], [bcc,bcc2,bccN], [attachment/attachments array], [overridePreferenceSMTPHost/properties array])
Send a mail, if you make the msgText start with <html> the message will be sent in html (and you can use all html formatting).
{column:padding=0px|width=100%}{column}
Server Property Details
Specify an email address to which all email will be send instead of the specified To, Cc and Bcc addresses.
The specified to, Cc and Bcc addresses will be added to the Subject.
Default 'from' address if none is specified
Specify the name of the charset to use for mail encoding (leave emtpy for system default), see http://java.sun.com/j2se/1.4.2/docs/api/java/nio/charset/Charset.html forinfo which charset names are usable
Whether or not to use APOP for authentication (true/false), defaults to false.
The name of POP3 server to recieve mails from
Allow mailserver access for unauthenticated smart (rmi) client (true/false), defaults to false
Use authentication (true/false), defaults to false.
Socket connection timeout value in milliseconds. Default is infinite timeout.
The name of SMTP server to deliver the mails to
Specify password if using authentication
The port of SMTP server to deliver the mails to
Use SSL (true/false), defaults to false .
Socket I/O timeout value in milliseconds. Default is infinite timeout.
{column:padding=0px|width=100%}{column}
Method Details
createBinaryAttachment
(filename, binarydata, [mimeType])
Creates a binary attachment object.
Parameters
filename
binarydata
[mimeType]
Returns
Attachment
Sample
var attachment1 = plugins.mail.createBinaryAttachment('logo1.gif',plugins.file.readFile('c:/temp/a_logo.gif')); var attachment2 = plugins.mail.createBinaryAttachment('logo2.gif',plugins.file.readFile('c:/temp/another_logo.gif')); var success = plugins.mail.sendMail('[email protected]', 'John Cobb <[email protected]>', 'subject', 'msgText',null,null,new Array(attachment1,attachment2)); if (!success) { plugins.dialogs.showWarningDialog('Alert','Failed to send mail','OK'); }
createTextAttachment
(filename, textdata, [mimeType])
Creates a text based attachment object.
Parameters
filename
textdata
[mimeType]
Returns
Attachment
Sample
var attachment = plugins.mail.createTextAttachment('readme.html','<html>bla bla bla', 'text/html'); var success = plugins.mail.sendMail('[email protected]', 'John Cobb <[email protected]>', 'subject', 'msgText',null,null,attachment); if (!success) { plugins.dialogs.showWarningDialog('Alert','Failed to send mail','OK'); }
getLastSendMailExceptionMsg
()
Get the exception that occurred in the last sendMail attempt (null if no exception occurred).
Returns
String
Sample
var success = plugins.mail.sendMail('[email protected],[email protected]', 'John Cobb <[email protected]>', 'subject', 'my message',null,'[email protected]'); if (!success) { plugins.dialogs.showWarningDialog('Alert',plugins.mail.getLastSendMailExceptionMsg(),'OK'); }
getMailMessage
(binaryblob/string)
Helper method, returns MailMessage object from binary or 7bits string.
Parameters
binaryblob/string
Returns
MailMessage
Sample
var msg = plugins.mail.getMailMessage(myColumn); if (msg != null) //if is null error occurred! { application.output(msg.getFromAddresses()) }
String[]
getPlainMailAddresses
(addressesString)
Helper method to only get the plain addresses.
Parameters
addressesString
Returns
String[]
Sample
var plainArray = plugins.mail.getPlainMailAddresses('John Cobb <[email protected]>;Pete Cobb<[email protected]>'); application.output(plainArray[0]) //will return '[email protected]'
receiveMail
(userName, password, leaveMsgsOnServer, [receiveMode], [onlyreceiveMsgWithSentDate], [overridePreferencePOP3Host/properties array])
Receive mails from pop3 account.
Parameters
userName
password
leaveMsgsOnServer
[receiveMode]
[onlyreceiveMsgWithSentDate]
[overridePreferencePOP3Host/properties array]
Returns
MailMessage[]
Sample
var msgs = plugins.mail.receiveMail('me', 'test', true); if (msgs != null) //if is null error occurred! { for (var i = 0 ; i < msgs.length ; i++) { var msg = msgs[i] application.output(msg.getFromAddresses()) application.output(msg.getRecipientAddresses()) application.output(msg.getReplyAddresses()) application.output(msg.getReceivedDate()) application.output(msg.getSentDate()) application.output(msg.getHeaders()) application.output(msg.getSubject()) application.output(msg.getHtmlMsg()) application.output(msg.getPlainMsg()) var attachments = msg.getAttachments() if (attachments != null) { for (var j = 0 ; j < attachments.length ; j++) { var attachment = attachments[j] application.output(attachment.getName()) var attachmentDataByteArray = attachment.getData() //write attachmentDataByteArray to a file... } } } } //it is also possible to first receive the headers and later receive a full message with particular 'sentdate' //var receiveMode = 1;//0=FULL,1=HEADERS_ONLY,2=NO_ATTACHMENTS //var msgs = plugins.mail.receiveMail('me', 'test', true ,receiveMode); //when first did receive the headers(=all_field+subject,no body and no attachemnt), get a msg with a specific sentdate //var msgs = plugins.mail.receiveMail('me', 'test', true , 1 , theSentDateObjectFormPreviousHeaderLoading); //it is possbile to set all kind of pop3 properties //var properties = new Array() //properties[0] = 'mail.pop3.host=myserver.com' //properties specification can be found at:http://java.sun.com/products/javamail/javadocs/com/sun/mail/pop3/package-summary.html //var msgs = plugins.mail.receiveMail('me', 'test', true , 0 , null, properties);
sendMail
([to[,to2,toN], [from[,reply], subject, msgText, [cc,cc2,ccN], [bcc,bcc2,bccN], [attachment/attachments array], [overridePreferenceSMTPHost/properties array])
Send a mail, if you make the msgText start with <html> the message will be sent in html (and you can use all html formatting).
Parameters
[to[,to2,toN]
[from[,reply]
subject
msgText
[cc,cc2,ccN]
[bcc,bcc2,bccN]
[attachment/attachments array]
[overridePreferenceSMTPHost/properties array]
Returns
Boolean
Sample
var attachment1 = plugins.mail.createBinaryAttachment('embedded',plugins.file.readFile('c:/temp/a_logo.gif')); var msgText = 'plain msg<html>styled html msg<img src="%%embedded%%"></html>'; var success = plugins.mail.sendMail('[email protected],[email protected]', 'John Cobb <[email protected]>', 'subject', msgText,null,'[email protected]',[attachment1]); if (!success) { plugins.dialogs.showWarningDialog('Alert','Failed to send mail','OK'); } //it is possbile to set all kind of smtp properties //var properties = new Array() //properties[0] = 'mail.smtp.host=myserver.com' //properties specification can be found at:http://java.sun.com/products/javamail/javadocs/com/sun/mail/smtp/package-summary.html //var msgs = plugins.mail.sendMail('[email protected],[email protected]', 'John Cobb <[email protected]>', 'subject', msgText,null,'[email protected]',null, properties);