Hallo zusammen,
ich habe da mal wieder ein Problem mit dem ich mich schon ein zwei Tage durcharbeite, aber irgendwie nicht vorrankomme.
Und zwar würde ich gerne eine eMail mit meinem Arduino Mega + Ethernet Shield verschicken.
Ich verwende dazu folgenden Sketch. An sich habe ich den so im Internet fertig gefunden, ich habe noch die Sache mit "auth login" hinzugefügt, weil ohne eine Anmeldung würde das glaube ich nicht mehr gehen (habe es auch ausprobiert, funtkioniert nicht):
#include <Ethernet.h>
#include <SPI.h>
byte mac[] = { 0x90, 0xA2, 0xDA, 0x0D, 0x44, 0x70 };
byte ip[] = { 192, 168, 2, 109 };
byte server[] = { 205, 188, 186, 137 }; // IP von smtp.aol.com
EthernetClient client;
void setup()
{
Ethernet.begin(mac, ip);
Serial.begin(9600);
delay(1000);
Serial.println("connecting...");
if (client.connect(server, 25)) {
Serial.println("connected");
client.println("HELO test");
client.println("auth login");
client.println("Meine eMail in BASE64");
client.println("Mein Passwort in BASE64");
client.println("MAIL FROM: meineemail@aol.de");
client.println("RCPT TO: meineemail@aol.de"); //wollte einfach eine email an mich selber senden
client.println("DATA");
client.println("SUBJECT: Arduino sendet Email");
client.println();
client.println("Erster Test.");
client.println(".");
client.println("QUIT");
} 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(;;)
;
}
}
Und das bekomme ich im Serial Monitor:
connecting...
connected
220-mtaout-da01.r1000.mx.aol.com ESMTP MUA/Third Party Client Interface
220-AOL and its affiliated companies do not
220-authorize the use of its proprietary computers and computer
220-networks to accept, transmit, or distribute unsolicited bulk
220-e-mail sent from the internet.
220-Effective immediately:
220-AOL may no longer accept connections from IP addresses
220 which no reverse-DNS (PTR record) assigned.
250 mtaout-da01.r1000.mx.aol.com
334 VXNlcm5hbWU6
334 UGFzc3dvcmQ6
235 2.7.0 Authentication successful
250 2.1.0 Ok
250 2.1.5 Ok
503 5.5.0 : Data command rejected: Improper use of SMTP command pipelining
221 2.7.0 Error: I can break rules, too. Goodbye.
disconnecting.
So wie man auch sieht, funktioniert leider bisher "nur" die Identifiezierung mit Email und passwort bis hin kurz vor dem endgültigen Absenden.
Die Anleitung mit auth login habe ich hierher: http://www.kongtechnology.com/2008/01/27/smtp-authentication-and-send-emails-using-telnet/
Ich habe dann auch mal versucht über die Konsole (cmd, windows) eine telnet Verbindung mit smtp.aol.com herzustellen.
Funktionierte auch alles eigentlich, nur wenn ich dann am Schluss den "." ein tippe und enter drücke kommt immer:
521 AOL will not accept delivery of this message
Leider bin ich nicht so schlau und kann da sofort was rausschließen.
Also entweder mache ich grundsätzlich etwas falsch oder ich habe irgendetwas übersehen !?
Muss ich mir da eine andere Lösung suchen, wenn ja, welche ?
Hoffe ich habe alles relativ gut beschrieben, die Zeit ist zur Zeit leider etwas zu knapp um alles ausführlichst zu beschreiben.
Denke aber so grob sollte das reichen !
Vielen Dank schonmal !
Grüße
Lorenz