Problem bei Smtp mit QTcpSocket

Alles rund um die Programmierung mit Qt
Antworten
mcbeth
Beiträge: 6
Registriert: 23. Februar 2007 18:08

Problem bei Smtp mit QTcpSocket

Beitrag von mcbeth »

Hi,
ich weiß nicht, ob das Problem wirklich hier her passt.
Folgendes:
Ich versuche über QTcpSocket einen SMTP Befehl an einen Mailserver zu senden und erwarte eine Antwort. Leider kommt die nie.
Das Anmelden am Server hat wunderbar hingehauen, und ich bekomme eine Antwort von ihm. Allerdings habe ich die Befürchtung, dass ich beim Senden der Anfrage an den Server vielleicht nicht die richtige Codierung habe.
Hier der Code zum Senden der Anfrage:

Code: Alles auswählen


void CTcpSocket::sendRequest()
{
	QByteArray block;
	QDataStream out(&block, QIODevice::WriteOnly);
	out.setVersion(QDataStream::Qt_4_1);
	
	out  << "EHLO test.de";

	int temp=socket.write(block);
	socket.waitForReadyRead(-1);
};
Hier wartet dann das Programm auf das Signal readyRead(), das aber nie kommt. Hat von Euch vielleicht einer eine Idee, was ich falsch mache?
Ach so. Das Programm soll später die Anmeldung über SMTP machen und Mails versenden. Gruß
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

Hast du dir eigentlich schon mal angeschaut, was überhaupt beim Server ankommt?
Ansonsten kannst du hier den Grund finden, warum dein Server nicht antworten will:
Format of the QDataStream Operators
mcbeth
Beiträge: 6
Registriert: 23. Februar 2007 18:08

Beitrag von mcbeth »

Wow,
sehr schnelle Antwort.
Leider kann ich nicht sehen, was beim Server ankommt, da ich irgend einen z.B. gmx benutze.
Es könnte daran liegen, dass ein Buchstabe eines QStrings 4 Byte lang ist.
Das werde ich gleich mal testen, aber der Server müsste ja dann eigentlich antworten, dass er das nicht verstanden hat.
So funktioniert das zumindest in Telnet.
mcbeth
Beiträge: 6
Registriert: 23. Februar 2007 18:08

Beitrag von mcbeth »

Ok,
ich habs!
Man muss natürlich auch ein "\n" mitschicken, sonst verarbeitet der Server
die Zeile ja gar nicht!
Jetzt kommt auch eine Antwort von ihm.
Vielen Danke
Antworten