Difference between revisions of "Email"
Jump to navigation
Jump to search
(i'm still working here) |
|||
Line 4: | Line 4: | ||
|p1_type=string|p1_name=time|p1_desc=In the <code>(string)[[llGetUnixTime]]</code> format | |p1_type=string|p1_name=time|p1_desc=In the <code>(string)[[llGetUnixTime]]</code> format | ||
|p2_type=string|p2_name=address|p2_desc | |p2_type=string|p2_name=address|p2_desc | ||
|p3_type=string|p3_name=subject|p3_desc| | |p3_type=string|p3_name=subject|p3_desc | ||
p4_type=string|p4_name=message|p4_desc | |p4_type=string|p4_name=message|p4_desc | ||
|p5_type=integer|p5_name=num_left|p5_desc=The number of emails left in the email queue | |p5_type=integer|p5_name=num_left|p5_desc=The number of emails left in the email queue | ||
|event_desc=Triggered when | |event_desc=Triggered as a result of calling [[llGetNextEmail]] when there is an email that matches the optional filters used during the [[llGetNextEmail]] call. The email is removed from the email queue. | ||
|event_footnote=The email queue is associated with the prim and any script in the prim has access to it. <br/> The prim's email address is it's key with "@lsl.secondlife.com" appended, <code>[[llGetKey]]() + "@lsl.secondlife.com"</code>{{Footnote|Preview grid email address are constructed differently: <code>[[llGetKey]]() + "@lsl." + grid + ".lindenlab.com"</code>; for the main beta grid set grid to {{String|aditi}}.|Beta grid email address are constructed differently: llGetKey() + {{String|@lsl.}} + grid + {{String|.lindenlab.com}}; for the main beta grid set grid to {{String|aditi}}.}}. | |||
|constants | |constants | ||
|spec | |spec | ||
|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. | ||
* 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. | * The message field may have a maximum of 1000 characters. This count includes the header information (the from address, and the subject). | ||
* [[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. | |||
|constants | |constants | ||
|examples= | |examples=<lsl>default | ||
<lsl> | |||
default | |||
{ | { | ||
state_entry() | state_entry() | ||
{ | { | ||
llSetTimerEvent( | llSetTimerEvent(5.0); | ||
} | } | ||
timer() | timer() | ||
{ | { | ||
llGetNextEmail("",""); | llGetNextEmail("", ""); | ||
} | } | ||
email( string time, string address, string | email( string time, string address, string subject, string message, integer num_left ) | ||
{ | { | ||
if (( | 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("",""); | llGetNextEmail("", ""); | ||
} | } | ||
} | }</lsl> | ||
</lsl> | |||
|helpers | |helpers | ||
|also_header | |also_header | ||
Line 117: | Line 49: | ||
|also_articles | |also_articles | ||
|also_footer | |also_footer | ||
|notes | |notes= | ||
For tips on how to process emails sent from within SL, see the entry on [[llEmail#Prim2Prim_Email|llEmail]]. | |||
|mode | |mode | ||
|deprecated | |deprecated |
Revision as of 11:42, 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 when there is an email that matches the optional filters used during the llGetNextEmail call. The email is removed from 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 has access to it.
The prim's email address is it's key with "@lsl.secondlife.com" appended, llGetKey() + "@lsl.secondlife.com"
[1].
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 (the from address, and the subject).
- 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 |