inviare mail con arduino

sto cercando di inviare una mail con arduino ho copiato diversi esempi da internet ma nulla con i comandi dos e ok ma controllando con sniffer la rete vedo che arduino chiama il server questi gli invia la risposta dopo di che si scollega.
potete aiutarmi .
grazie

Benvenuto. :slight_smile:
Ti invitiamo a presentarti qui: Re: Presentazioni nuovi iscritti, fatevi conoscere da tutti! - Generale - Arduino Forum
e a leggere il regolamento: [REGOLAMENTO] Come usare questa sezione del forum - Italiano - Arduino Forum

Quale scheda? Ufficiale con WIZ5100 o la enc28j60 ?

Provato a leggere questo?
http://playground.arduino.cc/Italiano/Mail#.UzlkRqJP6Qk

... aggiungo ... sicuro che il tuo provider di posta accetti connessioni NON autenticate (SSL/TSL) ??? Ormai, a causa dello spam, quasi nessuno accetta più sessioni non autenticate su port 25 ... :roll_eyes:

Guglielmo

Apprezzo la vostra velocita nel rispondermi e vi ringrazio
Non ho specificato che utilizzo Scheda Ethernet Shield W5100
mi collego ad un server che non richiede autenticazione e facendo la connessione via telnet sulla porta 25 funziona perfettamente
Ho anche provato esempio che mi hai indicato ma niente da fare , è possibile che sia una incompatibilita con la Scheda Ethernet Shield W5100?
Se sapete darmi qualche consiglio
grazie un saluto
angelo

Hai provato a verificare che la scheda funzioni correttamente caricando uno degli esempi che sono disponibili nell'IDE ?

Ad esempio, WebServer funziona ? Raggiungi la scheda e ti risponde ?

Guglielmo

hai regione non va nemmeno webserver il terminale mi da :server is at 0.0.0.0
pero pingo indirizzo ip di arduino 192.168.1.177

 Circuit:
 * Ethernet shield attached to pins 10, 11, 12, 13
 * Analog inputs attached to pins A0 through A5 (optional)
 
 created 18 Dec 2009
 by David A. Mellis
 modified 9 Apr 2012
 by Tom Igoe
 
 */

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

// Enter a MAC address and IP address for your controller below.
// The IP address will be dependent on your local network:
byte mac[] = { 
  0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
IPAddress ip(192,168,1,177);

// Initialize the Ethernet server library
// with the IP address and port you want to use 
// (port 80 is default for HTTP):
EthernetServer server(80);

void setup() {
 // Open serial communications and wait for port to open:
  Serial.begin(9600);
   while (!Serial) {
    ; // wait for serial port to connect. Needed for Leonardo only
  }


  // start the Ethernet connection and the server:
  Ethernet.begin(mac, ip);
  server.begin();
  Serial.print("server is at ");
  Serial.println(Ethernet.localIP());
}


void loop() {
  // listen for incoming clients
  EthernetClient client = server.available();
  if (client) {
    Serial.println("new client");
    // an http request ends with a blank line
    boolean currentLineIsBlank = true;
    while (client.connected()) {
      if (client.available()) {
        char c = client.read();
        Serial.write(c);
        // if you've gotten to the end of the line (received a newline
        // character) and the line is blank, the http request has ended,
        // so you can send a reply
        if (c == '\n' && currentLineIsBlank) {
          // send a standard http response header
          client.println("HTTP/1.1 200 OK");
          client.println("Content-Type: text/html");
          client.println("Connection: close");  // the connection will be closed after completion of the response
	  client.println("Refresh: 5");  // refresh the page automatically every 5 sec
          client.println();
          client.println("<!DOCTYPE HTML>");
          client.println("<html>");
          // output the value of each analog input pin
          for (int analogChannel = 0; analogChannel < 6; analogChannel++) {
            int sensorReading = analogRead(analogChannel);
            client.print("analog input ");
            client.print(analogChannel);
            client.print(" is ");
            client.print(sensorReading);
            client.println("
");       
          }
          client.println("</html>");
          break;
        }
        if (c == '\n') {
          // you're starting a new line
          currentLineIsBlank = true;
        } 
        else if (c != '\r') {
          // you've gotten a character on the current line
          currentLineIsBlank = false;
        }
      }
    }
    // give the web browser time to receive the data
    delay(1);
    // close the connection:
    client.stop();
    Serial.println("client disonnected");
  }
}

Sicuro che non sia un'indirizzo già in uso e ... che quindi va in conflitto ??? Magari hai un DHCP sulla rete e ha già assegnato quell'indirizzo ... :roll_eyes:

Guglielmo

no facendo da DOS ping esteso mi risponde se gli stacco cavo eth smette di rispondermi come lo ricollego riparte

Senti, proprio per toglierci tutti i dubbi ... prova ad usare la forma completa della Ethernet.begin()

Ethernet.begin(mac, ip, gateway, subnet);

... inoltre il MAC address che stai usando, se fai una ricerca su internet, non risulta associato ad alcun produttore. Ci sono alcuni router che verificano questa cosa e ... non funzionano con detti MAC. Per sicurezza assegna un MAC valido e commerciale, come, ad esempio, questo valore : 90-A2-DA-0D-3F-5C (preso da uno shield Arduino Ethernet originale).

Guglielmo

ringrazio per le indicazioni ma non sono ancora riuscito a collegarmi ma e normale che quando lancio webserver mi da come indirizzo sul terminale 0.0.0.0

ho provato adesso con la shield ethernet originale arduino
anche se scollego il cavo rete, il monitor seriale da sempre 192.168.1.177

puoi dare il link della tua scheda ethernet?

angelokite:
ringrazio per le indicazioni ma non sono ancora riuscito a collegarmi ma e normale che quando lancio webserver mi da come indirizzo sul terminale 0.0.0.0

Scaricati NetScan (per windows) così verifichi tutta la tua rete. Dai come indirizzo da 192.168.1.1 a 192.168.1.255
http://www.softperfect.com/products/networkscanner/

la scheda e una w5100 ho gia usato uno sniffer sulla rete ma funziona solo se utilizzo protocoll icmp quando faccio pin da arduino verso una macchina della rete

Ciao,
ho letto ciò che vuoi fare, e sinceramente penso che la soluzione è piu semplice di quanto credi.
Quello che ti hanno suggerito di fare per quanto riguarda la rete è ok
ma puoi semplificarti la vita, usando il PHP su un sito altervista, che invia la mail.
Cioè funziona così:
Crei un dominio su altervista
metti un file ( .PHP se non conosci questo linguaggio ti aiuto io)
richiami con una richiesta HTTP questo script inviando la mail alla quale deve inviare l'email e il testo tramite Arduino

Fine.

non sono sparito e che attendevo arrivo di nuova scheda ethernet

questa sera hotolto la vecchia e ho inserito la nuova ho ricaricato la configurazione e tutto ha funzionato alla prima.
Ho pensato era guasta pero ho nuovamente rimesso la vecchia e ha funzionato ugualmente .
E possibile che la vecchia fosse rimasta in una condizione di blocco io non l avevo mai tolta e rimessa.
Ancora grazie a tutte le persone che mi hanno cercato di aiutareun saluto angelo