Simple solution to send gmail via smtp

1.What is your ISP? Can we figure out if they offer unencrypted SMTP?

my ISP is Jcom(Japanese ISP). The ISP allow us to use unencrypted SMTP blow.
smtp.jcom.zaq.ne.jp 587

2.You need to send email--would Spark.publish() events work just as well?

Yes, I need to send notification of door opening.

3.Can you use a different service like pushingbox.com or twillo.com etc.?

I can use pushingbox.com with PC. I have inputed "api.pushingbox.com/pushingbox?devid=MyDevid" to my google Chrome. I have received push mail from pushingbox.
But the core filed to use it.

I have tried your code already...

const char server[] = "api.pushingbox.com";
const char url[] = "/pushingbox?devid=v0123456789ABCDE";  //replace with your devid
TCPClient myTCP;

void setup() {

}

void loop() {
    sendGetRequest(server, url);
    delay(10000); //be nice every 10 seconds
}

void sendGetRequest(const char * server, const char * url)
{
    if (myTCP.connect(server, 80)) {
        myTCP.print("GET ");
        myTCP.print(url);
        myTCP.println(" HTTP/1.0");
        myTCP.println("Connection: close");
        myTCP.print("Host: ");
        myTCP.println(server);
        myTCP.println("Accept: text/html, text/plain");
        myTCP.println();
        myTCP.flush();
    } 
}

I have used posting twitter code, it succeeded to post.

// Message to Post
char msg[] = "Hi, I'm a tweet from a Spark Core!";

// OAuth Key
#define TOKEN "my TOKEN"

// Twitter Proxy
#define LIB_DOMAIN "arduino-tweet.appspot.com"

TCPClient client;

void setup()
{
    delay(1000);

    client.connect(LIB_DOMAIN, 80);
    client.println("POST /update HTTP/1.0");
    client.println("Host: " LIB_DOMAIN);
    client.print("Content-Length: ");
    client.println(strlen(msg)+strlen(TOKEN)+14);
    client.println();
    client.print("token=");
    client.print(TOKEN);
    client.print("&status=");
    client.println(msg);
}

void loop() {

}

You need to send email--would Spark.publish() events work just as well?
Can you wait for the upcoming Spark.publish() webhooks which should make things like this easier?

I don't know about Spark.publish(). How can I use it?