ส่ง/รับอีเมลด้วยเนื้อหา 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++ หลายคนรอคอย
เริ่มต้นใช้งาน 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:
"
"
",
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 เพื่อให้การสื่อสารกับเซิร์ฟเวอร์เมลถูกเข้ารหัส สิ่งนี้ช่วยปกป้องเนื้อหาอีเมลและข้อมูลรับรองการเข้าสู่ระบบจากการถูกดักฟัง