إرسال/استلام رسائل البريد الإلكتروني مع محتوى HTML عبر مكتبة C++ مجانية

مكتبة بريد إلكتروني C++ مفتوحة المصدر لإرسال واستلام الرسائل مع دعم المصادقة الحديثة، تنسيق MIME، المرفقات، SMTP، محتوى HTML، وتشفير SSL/TLS.

ما هو SimpleMail؟

في عالم تطوير C++ الحديث، يعتبر التعامل مع وظائف البريد الإلكتروني بكفاءة وأمان أمرًا حيويًا لمجموعة واسعة من التطبيقات—من أنظمة الإشعارات إلى عمليات التحقق من المستخدمين. بينما توفر العديد من اللغات عالية المستوى مكتبات غنية لمعالجة بريد SMTP، فإن C++ تاريخيًا تفتقر إلى حل خفيف وبسيط حقًا. SimpleMail هي مكتبة C++ مبنية على وحدتي QtCore وQtNetwork. توفر واجهة بسيطة لإرسال رسائل بريد إلكتروني متوافقة مع MIME عبر خوادم SMTP، بما في ذلك دعم تشفير SSL/TLS، مصادقة SMTP، محتوى نص عادي وHTML، مرفقات ملفات، ومستلمين متعددين (To, Cc, Bcc) وغيرها. يمكن للأجهزة التي تراقب الظروف (مثل حساسات الحرارة أو بوابات المنزل الذكي) استخدام SimpleMail لتنبيه المستخدمين في حالة حدوث شذوذ.

SimpleMail هي مكتبة بسيطة لكنها قوية تتيح لتطبيقات C++ إرسال رسائل بريد إلكتروني مع مرفقات، محتوى HTML، وأكثر عبر SMTP. تُحافظ على صيانتها على GitHub، وهي مكتبة عميل SMTP مبنية على Qt صُممت لسهولة الاستخدام، المرونة، والموثوقية. سواء كنت تبني تطبيقًا سطح مكتب أو برنامجًا خادميًا في C++، توفر المكتبة واجهة نظيفة وعملية لإرسال البريد. إذا كنت تستخدم أطرًا مثل Cutelyst أو Wt، فإن SimpleMail يتناسب طبيعيًا مع إرسال إشعارات المستخدم أو رسائل المعاملات. SimpleMail هو نسمة هواء منعشة لمطوري C++ الذين يبحثون عن دمج قدرات البريد مباشرة في تطبيقاتهم. بفضل بصمتها الصغيرة، ودعمها القوي للبروتوكولات الحديثة، وتكاملها السلس مع إطار Qt، تقدم ما كان ينتظره الكثير من مطوري C++.

Previous Next

البدء مع SimpleMail

الطريقة الموصى بها لتثبيت SimpleMail هي باستخدام GitHub. يرجى استخدام الأمر التالي لتثبيت سلس.

install SimpleMail via GitHub

git clone https://github.com/cutelyst/simple-mail.git

إنشاء بريد إلكتروني HTML عبر واجهة برمجة تطبيقات C++

تدعم مكتبة SimpleMail المفتوحة المصدر إرسال رسائل البريد بنص عادي وHTML، مما يتيح تنسيقًا غنيًا. يمكنك تحديد جسم HTML للحصول على رسائل جذابة بصريًا مع توفير بديل نص عادي لعملاء البريد الذين لا يدعمون HTML أو للمستخدمين الذين يفضلون ذلك. تجعل المكتبة من السهل إرسال رسائل منسقة مع صور أو أنماط مخصصة، لأنها تسمح بمحتوى HTML في رسالتك. يوضح المقتطف التالي كيف يمكن للمطورين إرسال بريد HTML مع صور مضمَّنة.

How to Send an HTML Email with Inline Images via C++ API?

#include 

int main() {
    SimpleMail::Mailer mailer("smtp.gmail.com", 587);
    mailer.setUsername("your-email@gmail.com");
    mailer.setPassword("your-password");

    SimpleMail::Mail mail;
    mail.setSender("your-email@gmail.com");
    mail.addTo("recipient@example.com");
    mail.setSubject("HTML Email with Image");

    // HTML content with an embedded image
    mail.setBody(
        "

Welcome!

" "

This is an HTML email with an inline image:

" "Company Logo", SimpleMail::Mail::BodyType::Html ); // Attach an image and reference it in HTML using CID mail.addAttachment("logo.png", "logo", "image/png"); if (mailer.sendMail(mail)) { std::cout << "HTML email sent successfully!" << std::endl; } else { std::cerr << "Error: " << mailer.lastError() << std::endl; } return 0; }

دعم SMTP مع المصادقة

توفر مكتبة SimpleMail المفتوحة المصدر دعمًا كاملاً لمصادقة SMTP داخل تطبيقات C++. تدعم المكتبة طريقتي المصادقة العادية وlogin. يضمن ذلك التوافق مع معظم خوادم SMTP، بما فيها Gmail، Outlook، والخوادم المخصصة. إليك مقتطفًا مفيدًا يوضح كيف يمكن لمطوري C++ تكوين إعدادات SMTP بسهولة، بما في ذلك STARTTLS عبر المنفذ 587.

How to Configure SMTP Settings inside C++ Apps?

SimpleMail::Sender sender;
sender.setHost("smtp.example.com");
sender.setPort(587);
sender.setConnectionType(SimpleMail::Sender::TlsConnection);
sender.setUser("your-email@example.com");
sender.setPassword("your-password");

إرسال رسائل بريد مع مرفقات عبر C++

إضافة مرفقات إلى رسائل البريد أمر شائع، وتتعامل SimpleMail مع ذلك بسلاسة. تجعل المكتبة من السهل إنشاء رسائل جديدة وإرفاق ملفات بهذه الرسائل ببضع أسطر فقط. تتولى المكتبة تشفير المرفق وتحديد نوع MIME المناسب. يمكن للمطورين تحديد مسار الملف وإعطاء اسم مخصص للمرفق إذا رغبوا. يوضح المثال التالي كيف يمكن للمطورين إرسال بريد مع مرفقات ملفات عبر واجهة برمجة تطبيقات C++.

How to Send an Email Message with File Attachments via C++ Library?

#include 

int main() {
    SimpleMail::Mailer mailer("smtp.example.com", 465);
    mailer.setUsername("user@example.com");
    mailer.setPassword("password");
    mailer.setSsl(true); // Enable SSL for secure connection

    SimpleMail::Mail mail;
    mail.setSender("user@example.com");
    mail.addTo("client@example.com");
    mail.setSubject("Invoice Attached");
    mail.setBody("Please find the attached invoice.");

    // Attach a PDF file
    mail.addAttachment("/path/to/invoice.pdf", "invoice.pdf", "application/pdf");

    if (mailer.sendMail(mail)) {
        std::cout << "Email with attachment sent!" << std::endl;
    } else {
        std::cerr << "Error: " << mailer.lastError() << std::endl;
    }

    return 0;
}

أمان أفضل مع دعم SSL/TLS

الأمان أمر أساسي عند التعامل مع البريد. تدعم مكتبة SimpleMail الاتصالات الآمنة إلى خوادم SMTP باستخدام SSL (Secure Sockets Layer) وTLS (Transport Layer Security). عند تكوين SmtpServer، يمكنك تحديد ConnectionType كـ Ssl أو Tls لضمان تشفير التواصل مع خادم البريد. يحمي ذلك محتوى البريد وبيانات المصادقة من الاعتراض.

 عربي