SetBody (Email subroutine): Difference between revisions
m (→Syntax terms) |
m (→Syntax terms) |
||
Line 19: | Line 19: | ||
If a longstring is passed, no delimiters are added to the content. | If a longstring is passed, no delimiters are added to the content. | ||
</td></tr> | </td></tr> | ||
<tr><th> | <tr><th>Type</th> | ||
<td>Any combination of the following options. Each may be specified only once. | <td>Any combination of the following options. Each may be specified only once. | ||
<dl> | <dl> | ||
<dt><b>Type</b> | <dt><b>Type</b> | ||
< | <td>This [[Notation conventions for methods#Name required|name required]] parameter | ||
specifies the MIME type of the content. | specifies the MIME type of the content. | ||
MIME content type strings consist | MIME content type strings consist | ||
Line 30: | Line 30: | ||
<var>SetBody</var> performs no validity checking, but it does distinguish | <var>SetBody</var> performs no validity checking, but it does distinguish | ||
between text MIME types ( | between text MIME types ("text"; is the primary type) and non-text types. | ||
If non-text, <var>SetBody</var> encodes the content in base64 format | If non-text, <var>SetBody</var> encodes the content in base64 format | ||
to ensure correct translation at SMTP gateways. | to ensure correct translation at SMTP gateways. |
Revision as of 21:58, 5 March 2012
Add body content to the message (Email class)
Syntax
email:SetBody( content, [Type= string], [Name= string], [Encoding= string])
Syntax terms
A previously declared Email object. | ||
content | A Stringlist or Longstring that contains the actual e-mail body.
If a Stringlist is passed, each item in the Stringlist is delimited with a carriage-return/line-feed (CR/LF) character pair. To override this line-ending, you can specify a non-text content type as the value of the Type optional argument. In this case, no delimiter is added at the end of an item. If a longstring is passed, no delimiters are added to the content. | |
Type | Any combination of the following options. Each may be specified only once.
| This name required parameter
specifies the MIME type of the content.
MIME content type strings consist
of a primary type and a subtype delimited by a forward slash ( / ) character,
for example, SetBody performs no validity checking, but it does distinguish
between text MIME types ("text"; is the primary type) and non-text types.
If non-text, SetBody encodes the content in base64 format
to ensure correct translation at SMTP gateways.
You can override this encoding by specifying
the Encoding option set to the value encoding=base64 .
To disable encoding for non-text content, specify encoding=none .
Specifying encoding=none for non-text content is
not recommended: the likely result is that the recipient receives corrupt data,
or otherwise the SMTP gateway may simply discard the message.
|
Usage notes
Subsequent invocations of the SetBody method completely replace any existing content.
Examples
- The following code fragment adds HTML text to the to the body of an
SMTP message:
... %greet is object Email %sl is object Stringlist html to %sl <html> <h1> Hello world! </h1> </html> end html %greet:SetBody(%sl, type='text/html') ...
- For SetBody method examples, see "Basic e-mail" and "E-mail with attachment".