envoie de mail par arduino

Bonjour,

je suis actuellement en terminale STI2D et dans le cadre de mon projet je dois gérer l'envoi d'un mail par Arduino. Mon groupe et moi avons décidé de partir sur une Arduino rev 3 avec un ethernet shield, le problème étant que nous aimerions juste faire un programme Arduino et ne pas faire de page web (html, php). Les seuls exemples que nous avons trouvé sur Internet sont peu concluant et vu que le projet est coefficient 12 au bac pas moyen de faire l'impasse dessus ... Un peu d'aide serait vraiment la bienvenue :)

bonjour, déjà il serait bien de nous montrer quelque chose.

le but est lequel exactement? envoyer un mail, mais par quelle action?

plusieurs solutions sont possibles envoyer depuis l'arduino envoyer via un server le mail appelé par l'arduino

le but est de l’envoyer depuis larduino j’ai deja un petit programme mais qui ne fonctionne pas

#include <SPI.h>
#include <Ethernet.h>

byte mac = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
byte ip = { 192,168,1,30 };
byte server = { 80,12,242,52 }; // Orange

Client client(server, 25);

void setup() {
Ethernet.begin(mac, ip);
Serial.begin(9600);
delay(1000);
Serial.println(“connecting…”);

if (client.connect()) {
Serial.println(“connected”);
delay(2000);
char c = client.read();
Serial.print(c);
client.println(“HELO xxxxxxx”);
char d = client.read();
Serial.print(d);
delay(2000);
client.println(“MAIL FROM:xxxxx@gmail.com”);
delay(500);
client.println(“RCPT TO:xxxxxxxxxxxx@gmail.com”);
delay(500);
client.println(“DATA”);
delay(500);
client.println(“From: xxxxx@gmail.com”);
delay(100);
client.println(“Subject: “Arduino Erreur”);
delay(100);
client.println(“To: xxxxxxxxxxxx@gmail.com”);
delay(100);
client.println(”");
delay(100);
client.println(“BEUG ARDUINO”);
delay(100);
client.println(".");
delay(500);
client.println("");
delay(5000);
client.println(“quit”);
delay(500);
}
else {

Serial.println(“connection failed”);
}
}

void loop()
{

if (client.available()) {
char c = client.read();
Serial.print(c);
}

if (!client.connected()) {
Serial.println();
Serial.println(“disconnecting.”);
client.stop();

for(;:wink:
;
}
}

yannsti2d: le but est de l'envoyer depuis larduino j'ai deja un petit programme mais qui ne fonctionne pas

bonjour sujet très très ressemblant récemment evoqué

salut je vais tester ton programme mais question bete peut etre mais je ne mis connais pas trop tu parle de serveur smtp donc l'email de serra pas dans les spam ? esque sa marche avec tout les operateur ?

#include <SPI.h>
#include <Ethernet.h>

// this must be unique
byte mac = { 0x90, 0xA2, 0xDA, 0x00, 0x59, 0x67 };
// change network settings to yours
IPAddress ip( 192, 168, 1, 179 );
IPAddress gateway( 192, 168, 1, 1 );
IPAddress subnet( 255, 255, 255, 0 );

// change server to your email server ip or domain
// IPAddress server( 1, 2, 3, 4 );
char server = “smtp.orange.fr”;

EthernetClient client;

void setup()
{
Serial.begin(9600);
pinMode(4,OUTPUT);
digitalWrite(4,HIGH);
Ethernet.begin(mac, ip, gateway, gateway, subnet);
delay(2000);
Serial.println(F(“Ready. Press ‘e’ to send.”));
}

void loop()
{
byte inChar;

inChar = Serial.read();

if(inChar == ‘e’)
{
if(sendEmail()) Serial.println(F(“Email sent”));
else Serial.println(F(“Email failed”));
}
}

byte sendEmail()
{
byte thisByte = 0;
byte respCode;

if(client.connect(server,25)) {
Serial.println(F(“connected”));
} else {
Serial.println(F(“connection failed”));
return 0;
}

if(!eRcv()) return 0;
Serial.println(F(“Sending helo”));

// change to your public ip
client.println(F(“helo 192.168.1.179”));

if(!eRcv()) return 0;
Serial.println(F(“Sending From”));

// change to your email address (sender)
client.println(F(“MAIL From: xxxx@wanadoo.fr”));

if(!eRcv()) return 0;

// change to recipient address
Serial.println(F(“Sending To”));
client.println(F(“RCPT To: yyyyy@aliceadsl.fr”));

if(!eRcv()) return 0;

Serial.println(F(“Sending DATA”));
client.println(F(“DATA”));

if(!eRcv()) return 0;

Serial.println(F(“Sending email”));

// change to recipient address
client.println(F(“To: yyyyy@aliceadsl.fr”));

// change to your address
client.println(F(“From: xxxxxx@wanadoo.fr”));

client.println(F(“Subject: Arduino email test\r\n”));

client.println(F("This is from my Arduino! millis= "));
client.println(millis());

client.println(F("."));

if(!eRcv()) return 0;

Serial.println(F(“Sending QUIT”));
client.println(F(“QUIT”));

if(!eRcv()) return 0;

client.stop();

Serial.println(F(“disconnected”));

return 1;
}

byte eRcv()
{
byte respCode;
byte thisByte;
int loopCount = 0;

while(!client.available()) {
delay(1);
loopCount++;

// if nothing received for 10 seconds, timeout
if(loopCount > 10000) {
client.stop();
Serial.println(F("\r\nTimeout"));
return 0;
}
}

respCode = client.peek();

while(client.available())
{
thisByte = client.read();
Serial.write(thisByte);
}

if(respCode >= ‘4’)
{
efail();
return 0;
}

return 1;
}

void efail()
{
byte thisByte = 0;
int loopCount = 0;

client.println(F(“QUIT”));

while(!client.available()) {
delay(1);
loopCount++;

// if nothing received for 10 seconds, timeout
if(loopCount > 10000) {
client.stop();
Serial.println(F("\r\nTimeout"));
return;
}
}

while(client.available())
{
thisByte = client.read();
Serial.write(thisByte);
}

client.stop();

Serial.println(F(“disconnected”));
Serial.println(F(“Ready. Press ‘e’ to send.”));
}

comment modifie t’on le serveur smtp pour une adresse gmail ?