الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

كيف ابعث ايميل بـ Qt

بدأه alonso15 في 25 أغسطس 2011 · 9 رد · 1,450 مشاهدة · في قسم Cross Platform GUI Libraries العام
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم اريد أن أف ماهي الطريقة المثالية لإرسال e-mail عن طريق Qt

علما و أني جربت هذه الطريقة لكن دون جدوى http://www.qtcentre.org/threads/2221-Sending-email-using-Qt

إني بحاجة لكود إن أمكن و شكرا

1
#2
alonso15 كتب:

السلام عليكم اريد أن أف ماهي الطريقة المثالية لإرسال e-mail عن طريق Qt

علما و أني جربت هذه الطريقة لكن دون جدوى http://www.qtcentre.org/threads/2221-Sending-email-using-Qt

إني بحاجة لكود إن أمكن و شكرا

ماهي الاخطاء التي ظهرت لك ؟

هل غير اعدادات الخادم في السطر 26 من smtp.cpp ?

تم تعديل هذه المشاركة بواسطة ihope في 25 أغسطس 2011 في 03:03

other ESTJ thing

اقتباس
Help Me To Help You

0xBAD00DAD.png

#3

نعم لقد قمت بتغييرها على النحو التالي

    socket->connectToHost( "plus.smtp.mail.yahoo.com", 465);

و قد قمت بتغيير الإيميل بالطبع إلى yahoo

ولن هذا ما يظهر لي في console

stateChanged QAbstractSocket::HostLookupState

stateChanged QAbstractSocket::ConnectingState

stateChanged QAbstractSocket::ConnectedState

Connected

connected

error QAbstractSocket::RemoteHostClosedError

stateChanged QAbstractSocket::ClosingState

stateChanged QAbstractSocket::UnconnectedState

disconneted

error "The remote host closed the connection"

#4
alonso15 كتب:

نعم لقد قمت بتغييرها على النحو التالي

    socket->connectToHost( "plus.smtp.mail.yahoo.com", 465);

و قد قمت بتغيير الإيميل بالطبع إلى yahoo

ولن هذا ما يظهر لي في console

stateChanged QAbstractSocket::HostLookupState

stateChanged QAbstractSocket::ConnectingState

stateChanged QAbstractSocket::ConnectedState

Connected

connected

error QAbstractSocket::RemoteHostClosedError

stateChanged QAbstractSocket::ClosingState

stateChanged QAbstractSocket::UnconnectedState

disconneted

error "The remote host closed the connection"

هذه الفئة لاتدعم الاتصال المشفر

عرف السوكيت كالتالي

    QSslSocket *socket;

و اضف

socket->startClientEncryption();

في smtp.cpp

واذا اردت بديل مناسب جرب http://blog.wysota.eu.org/index.php/2009/03/12/qwwsmtpclient/

تم تعديل هذه المشاركة بواسطة ihope في 25 أغسطس 2011 في 03:32

other ESTJ thing

اقتباس
Help Me To Help You

0xBAD00DAD.png

#5

أخي لا يمكن ذلك انظر

myfile.cpp:7: error: 'class QTcpSocket' has no member named 'startClientEncryption'

mingw32-make[1]: *** [debug/FenPrincipale.o] Error 1

mingw32-make[1]: Leaving directory `C:/Projects/email'

mingw32-make: *** [debug] Error 2

ربما تتحدث عن QSslSocket وليس QTcpSocket التي نستعماها في المثال socket*

#6

هل جربت الفئة في المشاركة الاخيرة

other ESTJ thing

اقتباس
Help Me To Help You

0xBAD00DAD.png

#7

لم أفهم ما تقصد في المشاركة الأخيرة لكني سأجرب الرابط الذي وضعته و سأوافيك بالنتائج غدا إن شاء الله :)

#8

أخي عندما أجرب QSslSocket البرنامج لايعمل و هذه صورة

Sans_titre.png

ربما لأن startClientEncryption هو SLOT وليس FUNCTION

#9

بعد التجربة

انصحك باستخدام الفئة التالية اراها افضل بكثير

http://qt-apps.org/content/show.php/Class+for+sending+mail?content=140925

قبل استخدامها عليك بتحميل openssl من هنا

http://www.slproweb.com/products/Win32OpenSSL.html

بعد التحميل وبخلال التنصيب سيسأل عن مكان وضع ملفات الـ Dll

اختر الاختيار الثاني .......to bin

ثم نسخ الملفين من مجلد

c:\openssl\bin

الى المجلد الذي يحوي QtNetwork.dll

وغالبا هو َQt\QTVERSION\bin

في الملف main.cpp

غير الاعدادات للدخول من سطر 11- 22

وفعل الـ tls في السطر 22

انا جربته مع الجيميل و النتيجة رسالة جديدة في صندوق الوارد

تحياتي

تم تعديل هذه المشاركة بواسطة ihope في 26 أغسطس 2011 في 03:14

1

other ESTJ thing

اقتباس
Help Me To Help You

0xBAD00DAD.png

#10

مشكور أخي العزيز ihope على التعاون

لكني وجدت الحل في هذا الموقع الالماني http://www.qtforum.de/forum/viewtopic.php?t=2172

صحيح أن اللغة غير مفهومة لكن ما عليك سوى استعمال الكود

ان واجهت مشكل في الكود ما عليك سوى أن تسألني

مواضيع مشابهة