الفريق العربي للبرمجةأرشيف المنتديات · 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

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

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

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

عدد الزوار حالياً

المتواجدون خلال آخر ساعة · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…