I'am trying to send Emails using Ardino Uno+ Ethernet Shield based on Windows live account via SMTP and my code is
#include <SPI.h>
#include <Ethernet.h>
// this must be unique
byte mac[] = { 0x90, 0xA2, 0xDA, 0x00, 0x59, 0x67 };
char message1[35], message2[35];
char subject[] = "ARDUINO: ALERT!!\0";
int time =1000;
// change server to your email server ip or domain
char server[] = "smtp.live.com";
EthernetClient client;
void setup()
{
Serial.begin(9600);
Ethernet.begin(mac);
delay(2000);
Serial.println(F("Ready. Press 'e' to send."));
}
void loop()
{
byte inChar;
inChar = Serial.read();
if(inChar == 'e')
{
Serial.println("Arduino Mail");
char message1[] = "Arduino auto genarated mail\0";
char message2[] = "High Threshold Exceeded\0";
sendEmail(subject, message1, message2, tempC);
}
}
void sendEmail(char subject[], char message1[], char message2[], float temp)
{
Serial.println("connecting...");
if (client.connect(server,587))
{
Serial.println("connected");
client.println("EHLO knuckles.lk");
delay(time); // log in
client.println("STARTTLS");
delay(time);
client.println("AUTH LOGIN");
delay(time); // authorise
// enter your username here
client.println("info@knuckles.lk");
delay(time);
// and password here
client.println("XXXXXXXXXXX");
delay(time);
client.println("MAIL FROM:<info@knuckles.lk");
delay(time);
client.println("RCPT TO:<kasun@knuckles.lk>");
delay(time);
client.println("DATA"); delay(time);
client.println("From: <info@knuckles.lk>");
delay(time);
client.println("To: <kasun@knuckles.lk>");
delay(time);
client.print("SUBJECT: ");
client.println(subject);
delay(time);
client.println();
delay(time);
client.println(message1);
delay(time);
client.println(message2);
delay(time);
client.println(".");
delay(time);
client.println("QUIT");
delay(time);
Serial.println("Email sent.");
delay(time);
checkEmail();
}
else
{
Serial.println("connection failed");
}
}
void checkEmail()
{
// see if any data is available from client
while (client.available())
{
char c = client.read();
Serial.print(c);
}
if (!client.connected())
{
Serial.println();
Serial.println("disconnecting.");
client.stop();
}
}
Server Response as below ........
Ready. Press 'e' to send.
Arduino Mail
connecting...
connected
Email sent.
220 BLU0-SMTP34.phx.gbl Microsoft ESMTP MAIL Service, Version: 6.0.3790.4675 ready at Thu, 1 May 2014 05:51:58 -0700
250-BLU0-SMTP34.phx.gbl Hello [61.245.163.3]
250-TURN
250-SIZE 41943040
250-ETRN
250-PIPELINING
250-DSN
250-ENHANCEDSTATUSCODES
250-8bitmime
250-BINARYMIME
250-CHUNKING
250-VRFY
250-TLS
250-STARTTLS
250 OK220 2.0.0 SMTP server ready
But it doesn't send any mails to the specified mail account, what could be the wrong with this code....