Go Down

Topic: gmail versenden brauche hilfe ! (Read 1 time) previous topic - next topic

pepeAUT

Hallo
Wollte mit Anleitung eien Buches mit meinem Arduino uno und dem EthernetShield eine Email senden.
Möchte das ganze hachher in den Tempserver einbauen damit ich bei einer bestimmten Temp eine Mail bekomme .

Aber es geht gar nix er versucht zu senden und das wars !
habe versucht verschiedene gmail server einzutragen ,aber ich weiss nicht ob die stimmen ?

Kann mir bitte jemand helfen ??

Code: [Select]
//
// Ethernet - Mailsenden
// Datei: buch2_kap8_mailsenden_direkt.ino



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

// Ethernet Einstellungen
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
byte ip[] = { 192, 168, 1, 177};        // IP Arduino Board
byte gateway[] = { 192, 168, 1, 2 };     // IP Router
byte subnet[] = { 255, 255, 255, 0 };

// IP des externen Servers
byte server[] = { 74,125,79,83  }; // gmail server 64.233.161.83 / 66.249.91.83 / 209.85.171.83
                                   // Gmail: "pop.gmail.com" (Posteingangsserver) und "smtp.gmail.com" (Postausgangsserver)
EthernetClient client;


void setup()
{
Ethernet.begin(mac, ip);
Serial.begin(9600);

delay(1000);

Serial.println("Versuche zu verbinden...");

if (client.connect(server, 25))
{
   Serial.println("connected");
   // Text nach HELO nicht relevant
   client.println("HELO HalloServer");
   clint.println("AUTH PLAIN ¥ê^ÛM9 "); // Passwrt in Base64-codiertem Benutzernahmen
   client.println("MAIL FROM: xxxxx.xxxxx@gmail.com");
   client.println("RCPT TO: xxxx.xxxxx@gmail.com");
   client.println("DATA");
   // Absender-Adresse
   client.println("From: xxxx.xxxxx@gmail.com");
   // Empfänger-Adresse
   client.println("To: xxxx.xxxxx@gmail.com");
   // Titel des Mails
   client.println("Subject: Arduino sendet Email");
   client.println();
   // Inhaltstext des Mails
   client.println("Das ist der Inhalt vom Mail von Arduino.");
   // Kennzeichnung Ende des Emails
   client.println(".");
   // Abmelden
   client.println("QUIT");
} else {
   Serial.println("Verbindung geht nicht ......a so a scha...... ");
}
}

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

if (!client.connected()) {
   Serial.println();
   Serial.println("disconnecting.");
   client.stop();
   for(;;)
     ;
}
}


Schachmann

Hallo,

ich denke der POP3-Server läuft über Port 995 und der IMAP-Server über Port 993. Oftmals musst Du auch Post holen, ehe Du Post schicken kannst, weil der Server den Erhalt sonst ablehnt.

Gruß,
Ralf
Es gibt 10 Arten von Menschen, die einen verstehen Binär, die anderen nicht...

jurs

#2
Aug 31, 2013, 04:20 pm Last Edit: Aug 31, 2013, 04:39 pm by jurs Reason: 1

Kann mir bitte jemand helfen ??


Ohne dass Du uns die Fehlermeldungen zeigst, die der Mailserver zurücksendet?

Da gehe mal lieber in ein Hellseher-Forum!

Edit: Mal kurz gegoogelt und perTelnet getestet auf smtp.gmail.com, soweit ich das sehe, werden von Google zum Mailtransport nur verschlüsselte Verbindungen nach SSL-Standard unterstützt: http://de.wikipedia.org/wiki/Transport_Layer_Security
Fehlermeldung des Servers: 530 5.7.0 Must issue a STARTTLS command first.

Für Verschlüsselung per SSL haben 8-Bit AVR Controller aber viel zu wenig RAM-Speicher und auch zu wenig Rechenleistung. Entweder sendest Du Deine E-Mails über eine leistungsfähigere Rechnerplattform, die Mails bei Google mit der angeforderten Verschlüsselung auf dem Transportweg abliefern kann. Oder Du suchst Dir zum Mailversand einen anderen SMTP Mailserver, der E-Mails unverschlüsselt annimmt, wenn Du die Mails unbedingt mit Arduino einliefern möchtest.

pepeAUT

#3
Aug 31, 2013, 07:34 pm Last Edit: Sep 01, 2013, 10:43 am by pepeAUT Reason: 1
Danke für eure Hilfe.
also wenn ich auf den Serial Monitor klicke:
Versuche zu verbinden ...

keine Verbindung

wie gesagt geht gar nix !

Ist eigentlich egal mit was ich die emails schicke ,müssen auch nicht verschlüsselt sein !
wie geht das mit smtp2go auf www.smtpcorp.com ?
oder sonst eine Lösung ?
habe das gerade versucht .
glaube das ist noch zu hoch für mich ,will es  aber  :smiley-sweat:



Klaus_ww

Kenne mich mit gmail nicht aus, mit gmx gehts aber. Selbst probiert, aber auch graue Haare bekommen (Anfänger halt)

jurs


also wenn ich auf den Serial Monitor klicke:
Versuche zu verbinden ...

keine Varbindung

wie gesagt geht gar nix !


Klar, in den luftleeren Raum kannst Du Dich nicht verbinden.
Das Ziel sollte schon ein E-Mail Server sein, wo Du Deine E-Mail einliefern möchtest.

pepeAUT

#6
Aug 31, 2013, 10:59 pm Last Edit: Aug 31, 2013, 11:32 pm by pepeAUT Reason: 1
ok und wo kommt der hin ?
danke

jurs


ok und wo kommt der hin ?


Der richtige Server zum Einliefern von GMail dürfte sein: smtp.gmail.com

Oder die entsprechende IP-Adresse, wenn Du den Zugriff per IP-Adresse bevorzugst.

Allerdings ist es im allgemeinen sinnvoller, per Namen auf Server zuzugreifen, weil sich IP-Adressen ändern können, wenn der Betreiber Umstellungen an seiner Konfiguration macht. Wenn Du eine Suche bei Google machen möchtest, dann suchst Du ja auch bei http://www.google.de/ und nicht bei http://173.194.113.56/

pepeAUT

Keiner eine Ahnung wie man so was macht ?  :smiley-eek:

jurs


Keiner eine Ahnung wie man so was macht ?  :smiley-eek:


Wie man was macht?

Ein anderes E-Mail Konto eröffnen?
Bei irgendeinem Provider, wo E-Mails bei der Einlieferung für den Transportweg nicht verschlüsselt werden müssen?
Bei GMX, 1&1, Hosteurope oder irgendeinem anderen Provider?

Lasse Dir gesagt sein, dass es mit GMail und Arduino nicht funktionieren wird, da Du mit Arduino keine TLS/SSL-Authentifizierung hinbekommen wirst, wie sie von Google zum Einliefern von E-Mails zwingend verlangt wird.

pepeAUT

als bei mir gehts auch nicht mit gmx   =(
finde auch nirgend wo eine vernünftige Anleitung ?

jurs


als bei mir gehts auch nicht mit gmx   =(
finde auch nirgend wo eine vernünftige Anleitung ?


Über das erfolgreiche Versenden von E-Mail mit Arduino haben wir zuletzt im Forum hier diskutiert, mit einem vom Prinzip her funktionierenden Sketch bereits im allerersten Posting des Fragestellers:
http://forum.arduino.cc/index.php?topic=151986.0

Bei manchen Mailprovidern wie AOL müßtest Du beim Senden die jeweiligen Rückantworten vom Server auswerten und darfst neue Zeilen erst raussenden, wenn die vorherige vom Server bestätigt wurde. Oder so wie der OP es später gepostet hat, mit delay() zwischen den gesendeten Zeilen, wenn Du ein Scheißdreck auf die Rückantwort vom Server gibst und die Mail nur rausrotzen möchtest.

Gerade wenn Du Probleme mit dem Mailserver hast, solltest Du aber durchaus etwas auf die Rückantworten vom Server geben: Damit zeigt Dir im Fehlerfall nämlich der Mailserver an, wieso und weshalb es mit dem Senden ggf. nicht klappt.

pepeAUT

Danke dann werde ich das mal versuchen !

Go Up