ফ্রি C++ লাইব্রেরি ব্যবহার করে HTML কন্টেন্ট সহ ইমেইল পাঠানো/গ্রহণ

আধুনিক প্রমাণীকরণ, MIME ফরম্যাটিং, সংযুক্তি, SMTP, HTML কন্টেন্ট এবং SSL/TLS এনক্রিপশন সমর্থনসহ ইমেইল পাঠানো ও গ্রহণের জন্য ওপেন সোর্স C++ ইমেইল লাইব্রেরি।

SimpleMail কী?

আধুনিক C++ ডেভেলপমেন্টের জগতে, ইমেইল ফাংশনালিটি দক্ষ ও নিরাপদভাবে হ্যান্ডল করা বিভিন্ন ধরনের অ্যাপ্লিকেশনের জন্য অত্যন্ত গুরুত্বপূর্ণ—নোটিফিকেশন সিস্টেম থেকে ব্যবহারকারী যাচাইকরণ পর্যন্ত। যদিও অনেক উচ্চ-স্তরের ভাষা SMTP ইমেইল হ্যান্ডলিংয়ের জন্য সমৃদ্ধ লাইব্রেরি প্রদান করে, C++ ঐতিহাসিকভাবে সত্যিকারের হালকা ও সহজ সমাধান থেকে বঞ্চিত ছিল। SimpleMail হল একটি C++ লাইব্রেরি যা QtCore ও QtNetwork মডিউলের ওপর নির্মিত। এটি SMTP সার্ভারের মাধ্যমে MIME‑সামঞ্জস্যপূর্ণ ইমেইল মেসেজ পাঠানোর জন্য একটি সহজ ইন্টারফেস প্রদান করে, যার মধ্যে SSL/TLS এনক্রিপশন, SMTP প্রমাণীকরণ, প্লেইন টেক্সট ও HTML মেসেজ কন্টেন্ট, ফাইল সংযুক্তি, একাধিক প্রাপক (To, Cc, Bcc) ইত্যাদি সমর্থন করে। তাপমাত্রা সেন্সর বা স্মার্ট হোম গেটওয়ে মতো শর্ত পর্যবেক্ষণকারী ডিভাইসগুলো অস্বাভাবিকতা ঘটলে ব্যবহারকারীকে সতর্ক করতে SimpleMail ব্যবহার করতে পারে।

SimpleMail একটি মিনিমালিস্ট কিন্তু শক্তিশালী লাইব্রেরি যা C++ অ্যাপ্লিকেশনকে SMTP এর মাধ্যমে সংযুক্তি, HTML কন্টেন্ট ইত্যাদি সহ ইমেইল পাঠাতে সক্ষম করে। GitHub‑এ রক্ষণাবেক্ষিত, SimpleMail একটি Qt‑ভিত্তিক SMTP ক্লায়েন্ট লাইব্রেরি যা ব্যবহার সহজতা, নমনীয়তা এবং দৃঢ়তা লক্ষ্য করে তৈরি। আপনি ডেস্কটপ অ্যাপ বা সার্ভার‑সাইড ডেমন যাই তৈরি করুন না কেন, এই লাইব্রেরি ইমেইল পাঠানোর জন্য একটি পরিষ্কার ও ব্যবহারিক ইন্টারফেস প্রদান করে। যদি আপনি Cutelyst বা Wt এর মতো ফ্রেমওয়ার্ক ব্যবহার করেন, SimpleMail ব্যবহারকারী‑সংক্রান্ত নোটিফিকেশন বা ট্রানজ্যাকশনাল ইমেইল পাঠানোর জন্য স্বাভাবিক পছন্দ। SimpleMail C++ ডেভেলপারদের জন্য এক শ্বাসপ্রশ্বাসের মতো, যাঁরা সরাসরি তাদের অ্যাপ্লিকেশনে ইমেইল ক্ষমতা সংযুক্ত করতে চান। ছোট ফুটা, আধুনিক ইমেইল প্রোটোকলের শক্তিশালী সমর্থন এবং Qt ফ্রেমওয়ার্কের সঙ্গে নিখুঁত ইন্টিগ্রেশন সহ, এটি ঠিক সেইটি যা অনেক C++ ডেভেলপার অপেক্ষা করছিলেন।

Previous Next

SimpleMail দিয়ে শুরু করা

SimpleMail ইনস্টল করার সুপারিশকৃত পদ্ধতি হল GitHub ব্যবহার করা। মসৃণ ইনস্টলেশনের জন্য নিম্নলিখিত কমান্ড ব্যবহার করুন।

GitHub এর মাধ্যমে SimpleMail ইনস্টল করুন

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

C++ API ব্যবহার করে HTML ইমেইল তৈরি করুন

ওপেন সোর্স SimpleMail লাইব্রেরি প্লেইন টেক্সট এবং HTML কন্টেন্ট উভয়ই সমর্থন করে, যা আরও সমৃদ্ধ ইমেইল ফরম্যাটিং সম্ভব করে। আপনি ভিজ্যুয়ালি আকর্ষণীয় ইমেইলের জন্য HTML বডি নির্ধারণ করতে পারেন, একই সঙ্গে HTML সমর্থন না করা ক্লায়েন্ট বা ব্যবহারকারীর জন্য প্লেইন টেক্সট বিকল্পও প্রদান করতে পারেন। লাইব্রেরি ইমেজ বা কাস্টম স্টাইলসহ ফরম্যাটেড ইমেইল পাঠানো সহজ করে, কারণ এটি আপনার মেসেজে HTML কন্টেন্ট অনুমোদন করে। নিম্নের কোড স্নিপেটটি দেখায় কীভাবে সফটওয়্যার ডেভেলপাররা ইনলাইন ইমেজসহ একটি HTML ইমেইল পাঠাতে পারেন।

C++ API ব্যবহার করে ইনলাইন ইমেজসহ HTML ইমেইল কীভাবে পাঠাবেন?

#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 লাইব্রেরি C++ অ্যাপ্লিকেশনের মধ্যে SMTP প্রমাণীকরণ সম্পূর্ণভাবে সমর্থন করে। লাইব্রেরি প্লেইন এবং লগইন উভয় প্রমাণীকরণ পদ্ধতি সমর্থন করে। এটি অধিকাংশ SMTP সার্ভারের সঙ্গে সামঞ্জস্য নিশ্চিত করে, যার মধ্যে Gmail, Outlook এবং কাস্টম সার্ভার অন্তর্ভুক্ত। নিচের কোড স্নিপেটটি দেখায় কীভাবে C++ ডেভেলপাররা সহজে SMTP সেটিংস কনফিগার করতে পারেন, যার মধ্যে পোর্ট 587-এ STARTTLS অন্তর্ভুক্ত।

C++ অ্যাপ্লিকেশনে SMTP সেটিংস কীভাবে কনফিগার করবেন?

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++ API ব্যবহার করে ফাইল সংযুক্তি সহ একটি ইমেইল পাঠাতে পারেন।

C++ লাইব্রেরি ব্যবহার করে ফাইল সংযুক্তি সহ ইমেইল মেসেজ কীভাবে পাঠাবেন?

#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 লাইব্রেরি SSL (Secure Sockets Layer) এবং TLS (Transport Layer Security) ব্যবহার করে SMTP সার্ভারের সঙ্গে নিরাপদ সংযোগ সমর্থন করে। SmtpServer কনফিগার করার সময় ConnectionType কে Ssl অথবা Tls হিসেবে নির্ধারণ করলে মেল সার্ভারের সঙ্গে যোগাযোগ এনক্রিপ্টেড হয়। এটি ইমেইল কন্টেন্ট এবং প্রমাণীকরণ ক্রেডেনশিয়ালকে ইন্টারসেপ্ট হওয়া থেকে রক্ষা করে।

 বাংলা