Added jsdoc comment based documentation
This commit is contained in:
parent
00ea378a37
commit
3f7126bfa2
1 changed files with 184 additions and 5 deletions
185
helma/Mail.js
185
helma/Mail.js
|
@ -6,19 +6,43 @@
|
||||||
* compliance with the License. A copy of the License is available at
|
* compliance with the License. A copy of the License is available at
|
||||||
* http://adele.helma.org/download/helma/license.txt
|
* http://adele.helma.org/download/helma/license.txt
|
||||||
*
|
*
|
||||||
* Copyright 1998-2006 Helma Software. All Rights Reserved.
|
* Copyright 1998-2007 Helma Software. All Rights Reserved.
|
||||||
*
|
*
|
||||||
* $RCSfile: Mail.js,v $
|
* $RCSfile: Mail.js,v $
|
||||||
* $Author: hannes $
|
* $Author: hannes $
|
||||||
* $Revision: 1.3 $
|
* $Revision: 1.4 $
|
||||||
* $Date: 2006/06/28 20:06:03 $
|
* $Date: 2006/11/27 12:47:04 $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Define the global namespace if not existing
|
||||||
|
*/
|
||||||
if (!global.helma) {
|
if (!global.helma) {
|
||||||
global.helma = {};
|
global.helma = {};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Mail client enabling you to send e-mail via SMTP using Packages.javax.mail.
|
||||||
|
* <br /><br />
|
||||||
|
* A mail client object is created by using the helma.Mail()
|
||||||
|
* constructor. The mail object then can be manipulated and sent
|
||||||
|
* using the methods listed below.
|
||||||
|
* <br /><br />
|
||||||
|
* You will either need to set your mail server via the smtp
|
||||||
|
* property in the app.properties or server.properties file
|
||||||
|
* or pass the hostname of the mail server you want to use as a
|
||||||
|
* parameter to the constructor.
|
||||||
|
* <br /><br />
|
||||||
|
* Note: Make sure that the SMTP server itself is well-configured,
|
||||||
|
* so that it accepts e-mails coming from your server and does
|
||||||
|
* not deny relaying. Best and fastest configuration is of course
|
||||||
|
* if you run your own SMTP server (e.g. postfix) which might be
|
||||||
|
* a bit tricky to set up, however.</p>
|
||||||
|
*
|
||||||
|
* @param {String} smtp as String, the hostname of the mail server
|
||||||
|
* @constructor
|
||||||
|
*/
|
||||||
helma.Mail = function(smtp) {
|
helma.Mail = function(smtp) {
|
||||||
var OK = 0;
|
var OK = 0;
|
||||||
var SUBJECT = 10;
|
var SUBJECT = 10;
|
||||||
|
@ -98,8 +122,25 @@ helma.Mail = function(smtp) {
|
||||||
return;
|
return;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The status of this Mail object.
|
||||||
|
*/
|
||||||
this.status = OK;
|
this.status = OK;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets the sender of an e-mail message.
|
||||||
|
* <br /><br />
|
||||||
|
* The first argument specifies the receipient's
|
||||||
|
* e-mail address. The optional second argument
|
||||||
|
* specifies the name of the recipient.
|
||||||
|
* <br /><br />
|
||||||
|
* Example:
|
||||||
|
* <pre>var mail = new helma.Mail();
|
||||||
|
* mail.setFrom("tobi@helma.at", "Tobi Schaefer");</pre>
|
||||||
|
*
|
||||||
|
* @param {String} addstr as String, sender email address
|
||||||
|
* @param {String} name as String, optional sender name
|
||||||
|
*/
|
||||||
this.setFrom = function(addstr, name) {
|
this.setFrom = function(addstr, name) {
|
||||||
try {
|
try {
|
||||||
if (addstr.indexOf("@") < 0) {
|
if (addstr.indexOf("@") < 0) {
|
||||||
|
@ -119,6 +160,15 @@ helma.Mail = function(smtp) {
|
||||||
return;
|
return;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets the Reply-To address of an e-mail message.
|
||||||
|
* <br /><br />
|
||||||
|
* Example:
|
||||||
|
* <pre>var mail = new helma.Mail();
|
||||||
|
* mail.setReplyTo("tobi@helma.at");</pre>
|
||||||
|
*
|
||||||
|
* @param {String} addstr as String, the reply-to email address
|
||||||
|
*/
|
||||||
this.setReplyTo = function(addstr) {
|
this.setReplyTo = function(addstr) {
|
||||||
try {
|
try {
|
||||||
if (addstr.indexOf("@") < 0) {
|
if (addstr.indexOf("@") < 0) {
|
||||||
|
@ -133,6 +183,21 @@ helma.Mail = function(smtp) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets the recipient of an e-mail message.
|
||||||
|
*
|
||||||
|
* The first argument specifies the receipient's
|
||||||
|
* e-mail address. The optional second argument
|
||||||
|
* specifies the name of the recipient.
|
||||||
|
* <br /><br />
|
||||||
|
* Example:
|
||||||
|
* <pre>var mail = new helma.Mail();
|
||||||
|
* mail.setTo("hop@helma.at");</pre>
|
||||||
|
*
|
||||||
|
* @param {String} addstr as String, receipients email address
|
||||||
|
* @param {String} name as String, optional receipients name
|
||||||
|
* @see #addTo
|
||||||
|
*/
|
||||||
this.setTo = function(addstr, name) {
|
this.setTo = function(addstr, name) {
|
||||||
try {
|
try {
|
||||||
addRecipient(addstr, name, Message.RecipientType.TO);
|
addRecipient(addstr, name, Message.RecipientType.TO);
|
||||||
|
@ -143,6 +208,23 @@ helma.Mail = function(smtp) {
|
||||||
return;
|
return;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Adds a recipient to the address list of an e-mail message.
|
||||||
|
* <br /><br />
|
||||||
|
* The first argument specifies the receipient's
|
||||||
|
* e-mail address. The optional second argument
|
||||||
|
* specifies the name of the recipient.
|
||||||
|
* <br /><br />
|
||||||
|
* Example:
|
||||||
|
* <pre>var mail = new helma.Mail();
|
||||||
|
* mail.setTo("hop@helma.at");
|
||||||
|
* mail.addTo("hopdoc@helma.at");
|
||||||
|
* mail.addTo("tobi@helma.at", "Tobi Schaefer");</pre>
|
||||||
|
*
|
||||||
|
* @param {String} addstr as String, receipients email address
|
||||||
|
* @param {String} name as String, optional receipients name
|
||||||
|
* @see setTo
|
||||||
|
*/
|
||||||
this.addTo = function(addstr, name) {
|
this.addTo = function(addstr, name) {
|
||||||
try {
|
try {
|
||||||
addRecipient(addstr, name, Message.RecipientType.TO);
|
addRecipient(addstr, name, Message.RecipientType.TO);
|
||||||
|
@ -163,6 +245,21 @@ helma.Mail = function(smtp) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Adds a recipient to the list of addresses to get a "blind carbon copy" of an e-mail message.
|
||||||
|
* <br /><br />
|
||||||
|
* The first argument specifies the receipient's
|
||||||
|
* e-mail address. The optional second argument
|
||||||
|
* specifies the name of the recipient.
|
||||||
|
* <br /><br />
|
||||||
|
* Example:
|
||||||
|
* <pre>var mail = new helma.Mail();
|
||||||
|
* mail.addBCC("hop@helma.at");
|
||||||
|
* mail.addBCC("tobi@helma.at", "Tobi Schaefer");</pre>
|
||||||
|
*
|
||||||
|
* @param {String} addstr as String, receipients email address
|
||||||
|
* @param {String} name as String, optional receipients name
|
||||||
|
*/
|
||||||
this.addBCC = function(addstr, name) {
|
this.addBCC = function(addstr, name) {
|
||||||
try {
|
try {
|
||||||
addRecipient(addstr, name, Message.RecipientType.BCC);
|
addRecipient(addstr, name, Message.RecipientType.BCC);
|
||||||
|
@ -173,6 +270,15 @@ helma.Mail = function(smtp) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets the subject of an e-mail message.
|
||||||
|
* <br /><br />
|
||||||
|
* Example:
|
||||||
|
* <pre>var mail = new helma.Mail();
|
||||||
|
* mail.setSubject("Hello, World!");</pre>
|
||||||
|
*
|
||||||
|
* @param {String} subject as String, the email subject
|
||||||
|
*/
|
||||||
this.setSubject = function(subject) {
|
this.setSubject = function(subject) {
|
||||||
if (!subject) {
|
if (!subject) {
|
||||||
return;
|
return;
|
||||||
|
@ -186,6 +292,16 @@ helma.Mail = function(smtp) {
|
||||||
return;
|
return;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets the body text of an e-mail message.
|
||||||
|
* <br /><br />
|
||||||
|
* Example:
|
||||||
|
* <pre>var mail = new helma.Mail();
|
||||||
|
* mail.setText("Hello, World!");</pre>
|
||||||
|
*
|
||||||
|
* @param {String} text as String, to be appended to the message body
|
||||||
|
* @see #addText
|
||||||
|
*/
|
||||||
this.setText = function(text) {
|
this.setText = function(text) {
|
||||||
if (text) {
|
if (text) {
|
||||||
buffer = new java.lang.StringBuffer(text);
|
buffer = new java.lang.StringBuffer(text);
|
||||||
|
@ -193,6 +309,16 @@ helma.Mail = function(smtp) {
|
||||||
return;
|
return;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Appends a string to the body text of an e-mail message.
|
||||||
|
* <br /><br />
|
||||||
|
* Example:
|
||||||
|
* <pre>var mail = new Mail();
|
||||||
|
* mail.addText("Hello, World!");</pre>
|
||||||
|
*
|
||||||
|
* @param {String} text as String, to be appended to the message body
|
||||||
|
* @see #setText
|
||||||
|
*/
|
||||||
this.addText = function(text) {
|
this.addText = function(text) {
|
||||||
if (buffer == null) {
|
if (buffer == null) {
|
||||||
buffer = new java.lang.StringBuffer(text);
|
buffer = new java.lang.StringBuffer(text);
|
||||||
|
@ -202,6 +328,35 @@ helma.Mail = function(smtp) {
|
||||||
return;
|
return;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Adds an attachment to an e-mail message.
|
||||||
|
* <br /><br />
|
||||||
|
* The attachment needs to be either a MIME Object or a java.io.file object.
|
||||||
|
* <br /><br />
|
||||||
|
* Use the getURL() function to retrieve a MIME object or wrap a
|
||||||
|
* java.io.File object around a file of the local file system.
|
||||||
|
* <br /><br />
|
||||||
|
* Example:
|
||||||
|
* <pre>var file1 = getURL("http://localhost:8080/static/image.gif");
|
||||||
|
* var file2 = getURL("file:////home/snoopy/woodstock.jpg");
|
||||||
|
* var file3 = new java.io.File("/home/snoopy/woodstock.jpg");
|
||||||
|
* var mail = new Mail();
|
||||||
|
* mail.addPart(file1);
|
||||||
|
* mail.addPart(file2);
|
||||||
|
* mail.addPart(file3);
|
||||||
|
*
|
||||||
|
* mail.setFrom("snoopy@doghouse.com");
|
||||||
|
* mail.setTo("woodstock@birdcage.com");
|
||||||
|
* mail.setSubject("Look at this!");
|
||||||
|
* mail.addText("I took a photograph from you. Neat, isn't it? -Snoop");
|
||||||
|
* mail.send();</pre>
|
||||||
|
*
|
||||||
|
* @param {fileOrMimeObject} File or Mime object to attach to the email
|
||||||
|
* @param {String} nameString as String, optional name of the attachment
|
||||||
|
* @see global.getUrl
|
||||||
|
* @see mimePart
|
||||||
|
* @see java.io.File
|
||||||
|
*/
|
||||||
this.addPart = function(obj, filename) {
|
this.addPart = function(obj, filename) {
|
||||||
try {
|
try {
|
||||||
if (obj == null) {
|
if (obj == null) {
|
||||||
|
@ -251,6 +406,28 @@ helma.Mail = function(smtp) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sends an e-mail message.
|
||||||
|
* <br /><br />
|
||||||
|
* This function sends the message using the SMTP
|
||||||
|
* server as specified when the Mail object was
|
||||||
|
* constructed using helma.Mail.
|
||||||
|
* <br /><br />
|
||||||
|
* If no smtp hostname was specified when the Mail
|
||||||
|
* object was constructed, the smtp property in either
|
||||||
|
* the app.properties or server.properties file needs
|
||||||
|
* to be set in order for this to work.
|
||||||
|
* <br /><br />
|
||||||
|
* Example:
|
||||||
|
* <pre>var mail = new helma.Mail('smtp.example.com');
|
||||||
|
* mail.setTo("watching@michi.tv", "michi");
|
||||||
|
* mail.addCC("franzi@home.at", "franzi");
|
||||||
|
* mail.addBCC("monie@home.at");
|
||||||
|
* mail.setFrom("chef@frischfleisch.at", "Hannes");
|
||||||
|
* mail.setSubject("Registration Conformation");
|
||||||
|
* mail.addText("Thanks for your Registration...");
|
||||||
|
* mail.send();</pre>
|
||||||
|
*/
|
||||||
this.send = function() {
|
this.send = function() {
|
||||||
if (this.status > OK) {
|
if (this.status > OK) {
|
||||||
res.debug(errStr + ".send(): Status is " + this.status);
|
res.debug(errStr + ".send(): Status is " + this.status);
|
||||||
|
@ -287,11 +464,13 @@ helma.Mail = function(smtp) {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/** @ignore */
|
||||||
helma.Mail.toString = function() {
|
helma.Mail.toString = function() {
|
||||||
return "[helma.Mail]";
|
return "[helma.Mail]";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
/** @ignore */
|
||||||
helma.Mail.prototype.toString = function() {
|
helma.Mail.prototype.toString = function() {
|
||||||
return "[helma.Mail Object]";
|
return "[helma.Mail Object]";
|
||||||
};
|
};
|
||||||
|
|
Loading…
Add table
Reference in a new issue