1. Các sản phẩm
  2.   E-mail
  3.   C++
  4.   SimpleMail
 
  

Gửi/Nhận Email với Nội Dung HTML qua Thư Viện C++ Miễn Phí

Thư viện Email C++ mã nguồn mở cho việc Gửi & Nhận Email với hỗ trợ Xác Thực Hiện Đại, Định Dạng MIME, Tệp Đính Kèm, SMTP, Nội Dung HTML và Mã Hoá SSL/TLS.

SimpleMail là gì?

Trong thế giới phát triển C++ hiện đại, việc xử lý chức năng email một cách hiệu quả và an toàn là rất quan trọng đối với nhiều loại ứng dụng—từ hệ thống thông báo đến xác thực người dùng. Trong khi nhiều ngôn ngữ cấp cao cung cấp các thư viện phong phú cho việc xử lý email qua SMTP, C++ lịch sử thiếu một giải pháp thực sự nhẹ và đơn giản. SimpleMail là một thư viện C++ được xây dựng trên các mô-đun QtCore và QtNetwork. Nó cung cấp giao diện đơn giản để gửi các tin nhắn email tuân thủ MIME qua các máy chủ SMTP, bao gồm hỗ trợ mã hoá SSL/TLS, xác thực SMTP, nội dung văn bản thuần và HTML, tệp đính kèm, nhiều người nhận (To, Cc, Bcc) và nhiều hơn nữa. Các thiết bị giám sát điều kiện (ví dụ: cảm biến nhiệt độ hoặc cổng thông minh) có thể sử dụng SimpleMail để cảnh báo người dùng khi có bất thường.

SimpleMail là một thư viện tối giản nhưng mạnh mẽ, cho phép các ứng dụng C++ gửi email có đính kèm, nội dung HTML và hơn thế nữa qua SMTP. Được duy trì trên GitHub, SimpleMail là một thư viện khách hàng SMTP dựa trên Qt, được thiết kế để dễ sử dụng, linh hoạt và ổn định. Dù bạn đang xây dựng một ứng dụng desktop hay một daemon phía server bằng C++, thư viện cung cấp một giao diện sạch sẽ và thực tiễn để gửi email. Nếu bạn đang sử dụng các framework như Cutelyst hoặc Wt, SimpleMail là lựa chọn tự nhiên để gửi các thông báo cho người dùng hoặc email giao dịch. SimpleMail là luồng gió mới cho các nhà phát triển C++ muốn tích hợp khả năng email trực tiếp vào ứng dụng của mình. Với kích thước nhỏ gọn, hỗ trợ mạnh mẽ cho các giao thức email hiện đại và tích hợp liền mạch với framework Qt, nó mang lại chính xác những gì nhiều nhà phát triển C++ đã chờ đợi.

Previous Next

Bắt Đầu Với SimpleMail

Cách khuyến nghị để cài đặt SimpleMail là sử dụng GitHub. Vui lòng sử dụng lệnh sau để cài đặt một cách suôn sẻ.

Cài đặt SimpleMail qua GitHub

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

Tạo Email HTML qua API C++

Thư viện SimpleMail mã nguồn mở hỗ trợ gửi email với cả nội dung văn bản thuần và HTML, cho phép định dạng email phong phú hơn. Bạn có thể chỉ định phần thân HTML cho các email hấp dẫn về mặt hình ảnh đồng thời cung cấp một phiên bản văn bản thuần cho các client email không hỗ trợ HTML hoặc cho người dùng muốn nhận dạng thuần. Thư viện giúp dễ dàng gửi email định dạng có hình ảnh hoặc kiểu dáng tùy chỉnh, vì nó cho phép nội dung HTML trong tin nhắn. Đoạn mã dưới đây cho thấy cách các nhà phát triển phần mềm có thể gửi một Email HTML kèm Hình Ảnh Nhúng.

Làm Thế Nào Để Gửi Email HTML kèm Hình Ảnh Nhúng qua 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; }

Hỗ Trợ SMTP với Xác Thực

Thư viện SimpleMail mã nguồn mở đã cung cấp hỗ trợ đầy đủ cho việc xác thực SMTP trong các ứng dụng C++. Thư viện hỗ trợ cả phương thức xác thực plain và login. Điều này đảm bảo khả năng tương thích với hầu hết các máy chủ SMTP, bao gồm Gmail, Outlook và các máy chủ tùy chỉnh. Dưới đây là một đoạn mã hữu ích cho thấy cách các nhà phát triển C++ có thể cấu hình các thiết lập SMTP, bao gồm STARTTLS trên cổng 587.

Làm Thế Nào Để Cấu Hình Các Thiết Lập SMTP trong Ứng Dụng 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");

Gửi Email kèm Đính Kèm qua C++

Thêm tệp đính kèm vào email là một yêu cầu phổ biến, và SimpleMail xử lý việc này một cách liền mạch. Thư viện giúp dễ dàng tạo các email mới và đính kèm tệp vào các tin nhắn chỉ với vài dòng mã. Nó tự động mã hoá tệp đính kèm và đặt các loại MIME thích hợp. Các nhà phát triển có thể chỉ định đường dẫn tệp và tùy chọn tên tệp tùy chỉnh cho tệp đính kèm. Đoạn mã dưới đây cho thấy cách các nhà phát triển phần mềm có thể gửi một Email kèm Tệp Đính Kèm qua API C++.

Làm Thế Nào Để Gửi Email kèm Tệp Đính Kèm qua Thư Viện 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;
}

Bảo Mật Tốt Hơn với Hỗ Trợ SSL/TLS

Bảo mật là yếu tố quan trọng khi làm việc với email. Thư viện SimpleMail hỗ trợ kết nối an toàn tới các máy chủ SMTP bằng SSL (Secure Sockets Layer) và TLS (Transport Layer Security). Khi cấu hình SmtpServer, bạn có thể chỉ định ConnectionType là Ssl hoặc Tls để đảm bảo việc truyền thông với máy chủ mail được mã hoá. Điều này bảo vệ nội dung email và thông tin xác thực khỏi việc bị chặn.

 Tiếng Việt