Go Down

Topic: Guida invio Email Aggiornamento Server 2013 Arduino (Read 543 times) previous topic - next topic

fabiogrs93

Jul 06, 2013, 02:33 pm Last Edit: Jul 07, 2013, 10:24 am by fabiogrs93 Reason: 1
Salve a tutti! Sono nuovo di questo forum e spero di scrivere nella sezione giusta.. dopo invani tentativi per inviare una email con arduino sono giunto a quello corretto! Ho notato che sul forum e su internet manca un esempio funzionante aggiornato al 2013. Libero per esempio ha modificato le sue impostazioni di accesso e ora non è più possibile utilizzare l' esempio sul arduino.cc per inviare una mail con un account libero..o almeno..io non sono riuscito a farla funzionare. Virgilio è rimasto funzionante. Pertanto invito tutti  coloro che vogliono iniziare un progetto con questa funzione di basarsi su questo esempio. funzionante.



Code: [Select]
#include <SPI.h>
#include <Ethernet.h>
// Local network configuration:
byte mac[] = { 0x90, 0xA2, 0xDA, 0x00, 0x23, 0x5D };               //MAC DELLA VOSTRA RETE
byte ip[] = { Y, Y, Y, Y }; // INSERITE IL VOSTRO IP NELLA RETE LOCALE ASSOCIATO AD ARDUINO
// Login data:
String UserName64 = "XXXXXXX";
String Password64 = "XXXXXXX";

byte server[] = { 62, 211, 72, 20 }; // SMTP server VIRGILIO
String ServerName = "virgilio.it";
// Mail data:
String Sender = "XXXXXXX@virgilio.it";
String Recipient = "XXXXXXX";               // Indirizzo qualsiasi di posta elettronica
String Subject = "Messaggio inviato da Arduino!";
String Body = "Testo del messaggio\nsu piu'\ndi una riga.";
int time = 1000;
int wait = 1000;
String ServerResponse="";
EthernetClient client;



void setup()
{
 Serial.begin(9600);
 Serial.println("Program started, waiting for router...");
 delay(time); /* allow the router to identify the Arduino before the Arduino connects to the internet */
 Serial.println("Starting network module...");
 Ethernet.begin(mac, ip);
 delay(2000);
 Serial.println("connecting...");
 if (client.connect(server, 25)) {
    Serial.println("connected");
    SendMsg("EHLO " + ServerName); /* say hello*/
    SendMsg("AUTH LOGIN ");
    SendMsg(UserName64); /* Username*/
    SendMsg(Password64); /* Password */
    SendMsg("MAIL From:<" + Sender +">"); /* identify sender */
    SendMsg("RCPT To:<" + Recipient + ">"); /* identify recipient */
    SendMsg("DATA");
    SendMsg("To: " + Recipient); /*  recipient in message header */
    SendMsg("From: " + Sender); /* seder name in message header */
    SendMsg("Subject: "+ Subject); /* insert subject */
    SendMsg(""); /* empty line */
    SendMsg(Body); /* insert body */
    SendMsg(""); /* empty line */
    SendMsg("."); /* end mail */
    SendMsg("QUIT"); /* terminate connection */
    client.println();
 } 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( ; ; )
     ;
 }
}
void GetResponse() {
   if (client.available()) {
        char c = client.read();
        while (client.available()) { // Store command char by char.
          ServerResponse +=c;
          c = client.read();
        }
   Serial.println("<<<" + ServerResponse);
   ServerResponse="";
 }
}
void SendMsg(String m) {
  client.println(m);
  Serial.println(">>>" + m);
  delay(wait); /* wait for a response */
  GetResponse();
}



Per poter utilizzare questo esempio dovete convertire su questi siti ( usatene uno per la password e uno per l'Email , ma non entrambi sullo stesso per motivi di sicurezza) le vostre credenziali di login : ID ( nome@virgilio.it) pass ( password dell'account).

http://www.motobit.com/util/base64-decoder-encoder.asp e http://webnet77.com/cgi-bin/helpers/base-64.pl
http://webnet77.com/cgi-bin/helpers/base-64.pl


Per conoscere invece il vostro Mac Address seguite queste istruzioni:  https://forms.swlaw.edu/swlawforms/findmacaddress.htm#ipconfig


per qualsiasi info contattatemi a fabiogrs93@live.com

Ciao a tutti spero di essere di aiuto =)

[EDIT] aggiunto CODE-Tag. Uwe[/EDIT]

superlol

Il problema di mail quali gmail e libero e credo ora anche yahoo sono che usano certificati ssl che Arduino non ha la Potenza per gestire
Il nuovo forum italiano sull'elettronica: http://www.electroit.tk/ <--- Nuovamente online!

fabiogrs93

Esatto.. io ho provato con libero in quanto su Arduino Playground era presente questo esempio ma non ha funzionato. Con virgilio invece tutto okay.

Go Up