## helma.Mail

    Object
       |
       +--helma.Mail

This class provides functionality to sending Email messages. 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.
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.
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.

Defined in Mail.js

SUMMARY: Constructor | Properties | Methods | DETAIL: Constructor | Properties | Methods

Constructor Summary
`helma.Mail(host, port)` Mail client enabling you to send e-mail via SMTP using Packages.javax.mail.

Properties Summary
`Object` | `status` The status of this Mail object.

Methods Summary
`void` | `addBCC(<String> addstr, <String> name)` Adds a recipient to the list of addresses to get a "blind carbon copy" of an e-mail message.
`void` | `addCC(<String> addstr, <String> name)` Adds a recipient to the list of addresses to get a "carbon copy" of an e-mail message.
`void` | `addPart(<fileOrMimeObjectOrString> obj, <String> filename, <String> contentType)` Adds an attachment to an e-mail message.
`void` | `addText(<String> text)` Appends a string to the body text of an e-mail message.
`void` | `addTo(<String> addstr, <String> name)` Adds a recipient to the address list of an e-mail message.
`javax.mail.internet.MimeMessage` | `getMessage()` Returns the wrapped message
`String` | `getMultipartType(messageType)` Returns the MIME multiparte message subtype.
`String` | `getSource()` Returns the source of this mail as RFC 822 formatted string.
`void` | `send()` Sends an e-mail message.
`void` | `setAuthentication(<String> uname, <String> pwd)` Sets username and password to use for SMTP authentication.
`void` | `setDebug(<Boolean> debug)` Switches debug mode on or off.
`void` | `setFrom(<String> addstr, <String> name)` Sets the sender of an e-mail message.
`void` | `setMultipartType(<String> messageType)` Sets the MIME multiparte message subtype.
`void` | `setReplyTo(<String> addstr)` Sets the Reply-To address of an e-mail message.
`void` | `setSubject(<String> subject)` Sets the subject of an e-mail message.
`void` | `setText(<String> text)` Sets the body text of an e-mail message.
`void` | `setTo(<String> addstr, <String> name)` Sets the recipient of an e-mail message.
`void` | `writeToFile(<helma.File> dir)` Saves this mail RFC 822 formatted into a file.
`<static> void` | `example(host, sender, addr, subject, text)`

Constructor Detail

### helma.Mail

    helma.Mail(host, port)

Mail client enabling you to send e-mail via SMTP using Packages.javax.mail.

Parameters:

`smtp` - as String, the hostname of the mail server

Properties Detail

### status

    Object status

The status of this Mail object. This equals `0` unless an error occurred. See Mail.js source code for a list of possible error codes.

Method Detail

### addBCC

    void addBCC(<String> addstr, <String> name)

Adds a recipient to the list of addresses to get a "blind carbon copy" 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.

Parameters:

`addstr` - as String, receipients email address

`name` - as String, optional receipients name

### addCC

    void addCC(<String> addstr, <String> name)

Adds a recipient to the list of addresses to get a "carbon copy" 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.

Parameters:

`addstr` - as String, receipients email address

`name` - as String, optional receipients name

### addPart

    void addPart(<fileOrMimeObjectOrString> obj, <String> filename, <String> contentType)

Adds an attachment to an e-mail message.
The attachment needs to be either a helma.util.MimePart Object retrieved through the global getURL function, or a helma.File object, or a String.
Use the getURL() function to retrieve a MIME object or wrap a helma.File object around a file of the local file system.

Parameters:

`obj` - File, Mime object or String to attach to the email

`filename` - optional name of the attachment

`contentType` - optional content type (only if first argument is a string)

See:

- global.getUrl
- helma.util.MimePart
- helma.File

### addText

    void addText(<String> text)

Appends a string to the body text of an e-mail message.

Parameters:

`text` - as String, to be appended to the message body

See:

- setText()

### addTo

    void addTo(<String> addstr, <String> name)

Adds a recipient to the address list 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.

Parameters:

`addstr` - as String, receipients email address

`name` - as String, optional receipients name

See:

- setTo

### getMessage

    javax.mail.internet.MimeMessage getMessage()

Returns the wrapped message

Returns:

The wrapped message

### getMultipartType

    String getMultipartType(messageType)

Returns the MIME multiparte message subtype. The default value is "mixed" for messages of type multipart/mixed.

Returns:

the MIME subtype

See:

- getMultipartType()
- addPart()

### getSource

    String getSource()

Returns the source of this mail as RFC 822 formatted string.

Returns:

The source of this mail as RFC 822 formatted string

### send

    void send()

Sends an e-mail message.
This function sends the message using the SMTP server as specified when the Mail object was constructed using helma.Mail.
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.
As a fallback, the message will then be written to file using the writeToFile() method. Additionally, the location of the message files can be determined by setting smtp.dir in app.properties to the desired file path.

### setAuthentication

    void setAuthentication(<String> uname, <String> pwd)

Sets username and password to use for SMTP authentication.

Parameters:

`uname` - The username to use

`pwd` - The password to use

### setDebug

    void setDebug(<Boolean> debug)

Switches debug mode on or off.

Parameters:

`debug` - If true debug mode is enabled

### setFrom

    void setFrom(<String> addstr, <String> name)

Sets the sender 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.

Parameters:

`addstr` - as String, sender email address

`name` - as String, optional sender name

### setMultipartType

    void setMultipartType(<String> messageType)

Sets the MIME multiparte message subtype. The default value is "mixed" for messages of type multipart/mixed. A common value is "alternative" for the multipart/alternative MIME type.

Parameters:

`messageType` - the MIME subtype such as "mixed" or "alternative".

See:

- setMultipartType()
- addPart()

### setReplyTo

    void setReplyTo(<String> addstr)

Sets the Reply-To address of an e-mail message.

Parameters:

`addstr` - as String, the reply-to email address

### setSubject

    void setSubject(<String> subject)

Sets the subject of an e-mail message.

Parameters:

`subject` - as String, the email subject

### setText

    void setText(<String> text)

Sets the body text of an e-mail message.

Parameters:

`text` - as String, to be appended to the message body

See:

- addText()

### setTo

    void setTo(<String> addstr, <String> name)

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.

Parameters:

`addstr` - as String, receipients email address

`name` - as String, optional receipients name

See:

- addTo()

### writeToFile

    void writeToFile(<helma.File> dir)

Saves this mail RFC 822 formatted into a file. The name of the file is prefixed with "helma.Mail" followed by the current time in milliseconds and a random number.

Parameters:

`dir` - An optional directory where to save this mail to. If omitted the mail will be saved in the system's temp directory.

### example

    <static> void example(host, sender, addr, subject, text)

SUMMARY: Constructor | Properties | Methods | DETAIL: Constructor | Properties | Methods

Documentation generated by JSDoc on Thu Apr 5 01:59:00 2007