Lasse Dich doch nicht ins Bockshorn jagen, da hat jemand nicht verstanden, dass Du natürlich nicht mit einer fremden oder nicht existenten Mailadresse (
test@aol.com) testest, sondern Du hier in Deinem Sketch nur so tust ("Verschleierung von Mailadressen") als wenn Du mit der fremden Mailadresse testen würdest. Tatsächlich testest Du natürlich mit Deiner eigenen Mailadresse.
Genau so ist es ! Ich habe eigentlich angenommen dass das klar ist !
Hätte ich wahrscheinlich etwas genauer erwähnen sollen, sry.
Dein ganz zu Anfang geposteter Code funktioniert in genau der Form auch bestens - mit einigen Mailservern, die nicht dieselben Antispam-Maßnahmen verwenden wie AOL.
Welche Mailserver würde es denn geben die nicht so Antispam Maßnahmen wie aol durchführt ?!
Ich habe dann mal das mit meinem Sketch probiert und es funktioniert !

Ich habe da halt einfach nach jedem client.print noch eine Verzögerung eingebaut.
Das Abwarten bis eine Antwort kommt, also OK, und dann erst zum nächsten Schritt überzugehen, ist in meinem Fall etwas übertrieben, da es jetzt so schlimm wäre wenn dann mal eine eMail nicht ankommt.
Hier mein "fertiger" Sketch, nichts ausgfeiltes aber es funktioniert:
#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 }; // Mail server address MODIFY THIS FOR THE TARGET DOMAIN's MAIL SERVER
EthernetClient client;
int x = 2000;
void setup()
{
Ethernet.begin(mac, ip);
Serial.begin(9600);
delay(1000);
Serial.println("connecting...");
if (client.connect(server, 25)) {
Serial.println("connected");
delay(x);
client.println("HELO lorenz");
delay(x);
client.println("auth login");
delay(x);
client.println("eMail Base64");
delay(x);
client.println("PW Base64");
delay(x);
client.println("MAIL FROM: test@aol.de");
delay(x);
client.println("RCPT TO: test@aol.de");
delay(x);
client.println("DATA");
delay(x);
client.println("From: test@aol.de");
delay(x);
client.println("To: test@aol.de");
delay(x);
client.println("SUBJECT: Test");
delay(x);
client.println();
client.println("Erster test mit arduino.");
delay(x);
client.println(".");
delay(x);
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(;;)
;
}
}
Ob das mit der Verzögerung jetzt die beste Idee, bezweifle ich mal. Aber wie gesagt, es reicht mir eigentlich so.
Grüße Lorenz