httpmail is a stupid hack to send emails to SecondLife objects using llHTTPRequest instead of llEmail, in order to get around the 20-second delay on llEmail. See the example for how to use it.


// Send an email to an object in SL using llHTTPRequest.
// Delays script by ~0.1s instead of 20.0s. However, external emails are
// stripped of control characters, including newlines, so you need to use
// the base64 parameter and llBase64ToString on the entire body when the
// message is received.
httpmail( string  to,      // or
          string  subject, // subject of email (cannot include \n)
          string  body,    // body of email
          integer headers, // TRUE/FALSE: add normal llEmail info to body
          integer base64 ) // TRUE/FALSE: encode ENTIRE body with base64
  string extra;

  if ( headers )
    extra += "&headers=1";
  if ( base64 )
    extra += "&base64=1";

  llHTTPRequest( "" + to + extra,
                 [HTTP_METHOD, "POST"],
                 subject + "\n" + body );

// Example use: emails self with headers and base64 and outputs the body.
default {
    state_entry() {
        httpmail( (string)llGetKey() + "",
                  "hi", "test", TRUE, TRUE );
    timer() {
    email(string time,    string addr,     string subj,
          string message, integer num_left) {
        message = llBase64ToString(message); // decode body
        llOwnerSay( message );
        llSetTimerEvent( 0.0 );

That's all there is to it?