Send/Receive Emails with HTML Content via Free C++ Library
Open Source C++ Email Library for Emails Sending & Receiving with Support for Modern Authentication, MIME Formatting, Attachments, SMTP, HTML Content, and SSL/TLS Encryption.
Kas ir SimpleMail?
Mūsdienīgā C++ izstrādes pasaulē e-pasta funkcionalitātes efektīva un droša apstrāde ir būtiska daudzām lietojumprogrammām — no paziņojumu sistēmām līdz lietotāju verifikācijai. Lai gan daudzām augstā līmeņa valodām ir bagātas SMTP bibliotēkas, C++ vēsturiski trūka patiesi vieglas un vienkāršas risinājuma. SimpleMail ir C++ bibliotēka, kas balstīta uz QtCore un QtNetwork moduļiem. Tā nodrošina vienkāršu interfeisu MIME‑savietojamu e-pasta ziņojumu sūtīšanai caur SMTP serveriem, ieskaitot SSL/TLS šifrēšanu, SMTP autentifikāciju, vienkārša teksta un HTML ziņojumu saturu, failu pievienošanu, vairākus saņēmējus (To, Cc, Bcc) un daudz ko citu. Ierīces, kas uzrauga apstākļus (piemēram, temperatūras sensori vai viedās mājas vārtejas), var izmantot SimpleMail, lai brīdinātu lietotājus par anomālijām.
SimpleMail ir minimalistiska, bet jaudīga bibliotēka, kas ļauj C++ lietojumprogrammām sūtīt e-pastus ar pielikumiem, HTML saturu un vairāk, izmantojot SMTP. Uzturēta GitHub, SimpleMail ir Qt balstīta SMTP klienta bibliotēka, kas paredzēta lietošanas vienkāršībai, elastībai un robustumam. Neatkarīgi no tā, vai veidojat darbvirsmas lietotni vai servera dēmonu C++, bibliotēka piedāvā tīru un praktisku interfeisu e-pastu sūtīšanai. Ja izmantojat tādus ietvarus kā Cutelyst vai Wt, SimpleMail ir dabisks risinājums lietotāju paziņojumu vai darījumu e-pastu sūtīšanai. SimpleMail ir svaigs gaiss C++ izstrādātājiem, kas vēlas integrēt e-pasta iespējas tieši savās lietojumprogrammās. Ar mazu resursu patēriņu, spēcīgu atbalstu modernajiem e-pasta protokoliem un nevainojamu integrāciju ar Qt, tas piedāvā tieši to, ko daudzi C++ izstrādātāji ir gaidījuši.
Kā sākt darbu ar SimpleMail
Ieteicamais veids, kā instalēt SimpleMail, ir izmantojot GitHub. Lūdzu, izpildiet zemāk redzamo komandu, lai veiktu vienkāršu instalāciju.
Instalēt SimpleMail, izmantojot GitHub
git clone https://github.com/cutelyst/simple-mail.gitIzveidot HTML e-pastu, izmantojot C++ API
Atvērtā koda SimpleMail bibliotēka atbalsta e-pastu sūtīšanu gan ar vienkāršu tekstu, gan ar HTML saturu, ļaujot izveidot bagātīgāku e-pasta formatējumu. Jūs varat norādīt HTML ķermeni, lai izveidotu vizuāli pievilcīgus e-pastus, vienlaikus piedāvājot vienkārša teksta alternatīvu e-pasta klientiem, kas neatbalsta HTML, vai lietotājiem, kas to dod priekšroku. Bibliotēka atvieglo formatētu e-pastu sūtīšanu ar attēliem vai pielāgotām stilām, jo tā ļauj iekļaut HTML saturu jūsu ziņojumā. Zemāk esošais koda fragments parāda, kā izstrādātāji var nosūtīt HTML e-pastu ar iekļautajiem attēliem.
Kā nosūtīt HTML e-pastu ar iekļautajiem attēliem, izmantojot 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:
"
"
",
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 atbalsts ar autentifikāciju
Atvērtā koda SimpleMail bibliotēka nodrošina pilnīgu SMTP autentifikācijas atbalstu C++ lietojumprogrammās. Bibliotēka atbalsta gan vienkāršu, gan login autentifikācijas metodes. Tas nodrošina saderību ar vairumu SMTP serveriem, tostarp Gmail, Outlook un pielāgotajiem serveriem. Zemāk ir noderīgs koda fragments, kas parāda, kā C++ izstrādātāji var viegli konfigurēt SMTP iestatījumus, ieskaitot STARTTLS pār portu 587.
Kā konfigurēt SMTP iestatījumus C++ lietojumprogrammās?
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");
Sūtīt e-pastus ar pielikumiem, izmantojot C++
Pielikumu pievienošana e-pastiem ir bieži sastopama prasība, un SimpleMail to veic bez piepūles. Bibliotēka ļauj viegli ģenerēt jaunus e-pastus un pievienot tiem failus, izmantojot tikai dažas rindas koda. Tā parūpējas par pielikuma kodēšanu un atbilstošu MIME tipu iestatīšanu. Izstrādātāji var norādīt faila ceļu un, ja nepieciešams, pielāgotu faila nosaukumu. Zemāk esošais piemērs parāda, kā izstrādātāji var nosūtīt e-pastu ar faila pielikumu, izmantojot C++ API.
Kā nosūtīt e-pasta ziņojumu ar faila pielikumiem, izmantojot C++ bibliotēku?
#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;
}
Labāka drošība ar SSL/TLS atbalstu
Drošība ir izšķiroša, strādājot ar e-pastu. SimpleMail bibliotēka atbalsta drošus savienojumus ar SMTP serveriem, izmantojot SSL (Secure Sockets Layer) un TLS (Transport Layer Security). Konfigurējot SmtpServer, varat norādīt ConnectionType kā Ssl vai Tls, lai nodrošinātu, ka komunikācija ar pasta serveri ir šifrēta. Tas aizsargā e-pasta saturu un autentifikācijas akreditācijas datus no pārtveršanas.