Difference between revisions of "Email"
(readability is nice <.<) |
|||
Line 13: | Line 13: | ||
|caveats= | |caveats= | ||
* The email queue is limited to 100 emails, any email after that is bounced. | * The email queue is limited to 100 emails, any email after that is bounced. | ||
* The message field may have a maximum of 1000 characters. This count includes the header information ( | * The message field may have a maximum of 1000 characters. This count includes the header information ('''address''', '''subject''', etc). | ||
* [[llEmail|Emails sent from within SL]] will have the their message body prefixed with a header detailing the originating prim. See [[llEmail]] for more details. | * [[llEmail|Emails sent from within SL]] will have the their message body prefixed with a header detailing the originating prim. See [[llEmail]] for more details. | ||
* Due to bug {{Jira|SVC-23}} (present since 2005), objects may stop receiving emails completely until either the region is restarted or the object crosses a region boundary (resetting the script doesn't help). Emails sent may eventually be received after a restart/region-cross. Hence, don't rely on this event for reliable inter-region messaging. | * Due to bug {{Jira|SVC-23}} (present since 2005), objects may stop receiving emails completely until either the region is restarted or the object crosses a region boundary (resetting the script doesn't help). Emails sent may eventually be received after a restart/region-cross. Hence, don't rely on this event for reliable inter-region messaging. |
Revision as of 16:49, 11 October 2008
LSL Portal | Functions | Events | Types | Operators | Constants | Flow Control | Script Library | Categorized Library | Tutorials |
Description
Event: email( string <span title="In the(string)llGetUnixTime
format" style="border-bottom:1px dotted; cursor:help;">time, string address, string subject, string message, integer num_left ){ ; }
21 | Event ID |
Triggered as a result of calling llGetNextEmail where there is a matching email in the email queue.
• string | time | – | In the (string)llGetUnixTime format
|
|
• string | address | |||
• string | subject | |||
• string | message | |||
• integer | num_left | – | The number of emails left in the email queue |
The email queue is associated with the prim and any script in the prim can access it.
The prim's email address is it's key with "@lsl.secondlife.com" appended, llGetKey() + "@lsl.secondlife.com"
[1].
Specification
The email event is triggered as a result of calling llGetNextEmail when there is an email that matches llGetNextEmail's optional filters. The first email that matches the filters is removed from the email queue and it's data is used as the parameters for this event. If no email matches the filters but the queue is not empty this event is not triggered. Besides the effects of filtering, the email queue is FIFO.
Caveats
- The email queue is limited to 100 emails, any email after that is bounced.
- The message field may have a maximum of 1000 characters. This count includes the header information (address, subject, etc).
- Emails sent from within SL will have the their message body prefixed with a header detailing the originating prim. See llEmail for more details.
- Due to bug SVC-23 (present since 2005), objects may stop receiving emails completely until either the region is restarted or the object crosses a region boundary (resetting the script doesn't help). Emails sent may eventually be received after a restart/region-cross. Hence, don't rely on this event for reliable inter-region messaging.
Examples
<lsl>default {
state_entry() { llSetTimerEvent(5.0); } timer() { llGetNextEmail("", ""); } email( string time, string address, string subject, string message, integer num_left ) { if (llGetSubString(address, -19, -1) == "@lsl.secondlife.com") {//Message was sent from within SL. For this example we will just strip the header. message = llDeleteSubString(message, 0, llSubStringIndex(message, "\n\n") + 1); } llSay(0, message);
if(num_left) llGetNextEmail("", ""); }
}</lsl>
Notes
For tips on how to process emails sent from within SL, see the entry on llEmail.
See Also
Functions
• | llEmail | |||
• | llGetNextEmail |