ส่ง/รับอีเมลด้วยเนื้อหา 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 SimpleMail เป็นไลบรารีไคลเอนต์ SMTP ที่ใช้ Qt ออกแบบเพื่อความง่ายในการใช้งาน ความยืดหยุ่น และความทนทาน ไม่ว่าคุณจะสร้างแอปเดสก์ท็อปหรือดีมอนฝั่งเซิร์ฟเวอร์ใน C++ ไลบรารีนี้ก็ให้ส่วนต่อประสานที่สะอาดและใช้งานได้จริงสำหรับการส่งอีเมล หากคุณใช้เฟรมเวิร์กเช่น Cutelyst หรือ Wt SimpleMail จึงเป็นตัวเลือกที่เหมาะสมสำหรับการส่งการแจ้งเตือนหรืออีเมลเชิงธุรกรรม SimpleMail เป็นลมหายใจใหม่สำหรับนักพัฒนา C++ ที่ต้องการรวมความสามารถในการส่งอีเมลโดยตรงเข้าไปในแอปพลิเคชันของตน ด้วยขนาดเล็ก การสนับสนุนโปรโตคอลอีเมลสมัยใหม่ที่แข็งแกร่ง และการบูรณาการอย่างไร้รอยต่อกับเฟรมเวิร์ก Qt มันมอบสิ่งที่นักพัฒนา C++ หลายคนรอคอย

Previous Next

เริ่มต้นใช้งาน SimpleMail

วิธีที่แนะนำในการติดตั้ง SimpleMail คือการใช้ GitHub โปรดใช้คำสั่งต่อไปนี้เพื่อการติดตั้งที่ราบรื่น

ติดตั้ง SimpleMail ผ่าน GitHub

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

สร้างอีเมล HTML ผ่าน API C++

ไลบรารี SimpleMail แบบเปิดให้การส่งอีเมลด้วยเนื้อหาแบบข้อความธรรมดาและ HTML ทำให้การจัดรูปแบบอีเมลมีความหลากหลาย คุณสามารถกำหนดส่วน Body แบบ HTML เพื่อให้ได้อีเมลที่สวยงามพร้อมตัวเลือกข้อความธรรมดาสำหรับไคลเอนต์ที่ไม่รองรับ HTML หรือผู้ใช้ที่ต้องการแบบข้อความธรรมดา ไลบรารีทำให้การส่งอีเมลที่มีรูปภาพหรือสไตล์ที่กำหนดเองเป็นเรื่องง่าย เพราะอนุญาตให้ใช้เนื้อหา HTML ในข้อความของคุณ ตัวอย่างโค้ดต่อไปนี้แสดงวิธีที่นักพัฒนาซอฟต์แวร์สามารถส่งอีเมล HTML พร้อมรูปภาพฝังในเนื้อหา

วิธีส่งอีเมล HTML พร้อมรูปภาพฝังในเนื้อหาผ่าน API C++?

#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++ ไลบรารีรองรับวิธีการรับรองความถูกต้องแบบ plain และ login ซึ่งทำให้เข้ากันได้กับเซิร์ฟเวอร์ SMTP ส่วนใหญ่ รวมถึง Gmail, Outlook และเซิร์ฟเวอร์ที่กำหนดเอง ตัวอย่างโค้ดต่อไปนี้แสดงวิธีที่นักพัฒนา C++ สามารถกำหนดค่า SMTP อย่างง่าย รวมถึงการใช้ STARTTLS บนพอร์ต 587

วิธีกำหนดค่า SMTP ภายในแอป C++?

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 type ที่เหมาะสม นักพัฒนาสามารถระบุเส้นทางไฟล์และกำหนดชื่อไฟล์ที่ต้องการสำหรับไฟล์แนบ ตัวอย่างต่อไปนี้แสดงวิธีที่นักพัฒนาซอฟต์แวร์สามารถส่งอีเมลพร้อมไฟล์แนบผ่าน API C++

วิธีส่งอีเมลพร้อมไฟล์แนบผ่านไลบรารี 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 รองรับการเชื่อมต่อที่ปลอดภัยไปยังเซิร์ฟเวอร์ SMTP ด้วย SSL (Secure Sockets Layer) และ TLS (Transport Layer Security) เมื่อกำหนดค่า SmtpServer คุณสามารถระบุ ConnectionType เป็น Ssl หรือ Tls เพื่อให้การสื่อสารกับเซิร์ฟเวอร์เมลถูกเข้ารหัส สิ่งนี้ช่วยปกป้องเนื้อหาอีเมลและข้อมูลรับรองการเข้าสู่ระบบจากการถูกดักฟัง

 ไทย