Invia/Ricevi Email con Contenuto HTML tramite Libreria C++ Gratuita
Libreria email C++ Open Source per l'invio e la ricezione di email con supporto per l'autenticazione moderna, formattazione MIME, allegati, SMTP, contenuto HTML e crittografia SSL/TLS.
Che cos'è SimpleMail?
Nel mondo dello sviluppo C++ moderno, gestire le funzionalità email in modo efficiente e sicuro è fondamentale per una vasta gamma di applicazioni—da sistemi di notifica a verifiche degli utenti. Mentre molti linguaggi di alto livello offrono ricche librerie per la gestione di email SMTP, C++ ha storicamente mancato di una soluzione davvero leggera e semplice. SimpleMail è una libreria C++ costruita sopra i moduli QtCore e QtNetwork. Fornisce un'interfaccia semplice per inviare messaggi email conformi a MIME tramite server SMTP, includendo il supporto per la crittografia SSL/TLS, l'autenticazione SMTP, contenuti di messaggio in testo semplice e HTML, allegati di file, più destinatari (To, Cc, Bcc) e così via. Dispositivi che monitorano condizioni (ad esempio sensori di temperatura o gateway per la casa intelligente) possono usare SimpleMail per avvisare gli utenti in caso di anomalie.
SimpleMail è una libreria minimalista ma potente che consente alle applicazioni C++ di inviare email con allegati, contenuto HTML e altro tramite SMTP. Mantenuta su GitHub, SimpleMail è una libreria client SMTP basata su Qt progettata per facilità d'uso, flessibilità e robustezza. Che tu stia costruendo un'app desktop o un demone server-side in C++, la libreria fornisce un'interfaccia pulita e pratica per l'invio di email. Se utilizzi framework come Cutelyst o Wt, SimpleMail è una scelta naturale per inviare notifiche agli utenti o email transazionali. SimpleMail è una ventata d'aria fresca per gli sviluppatori C++ che desiderano integrare capacità email direttamente nelle proprie applicazioni. Con un'impronta ridotta, un forte supporto per i protocolli email moderni e un'integrazione senza soluzione di continuità con il framework Qt, offre esattamente ciò che molti sviluppatori C++ stavano aspettando.
Iniziare con SimpleMail
Il modo consigliato per installare SimpleMail è utilizzare GitHub. Si prega di usare il comando seguente per un'installazione senza problemi.
Installa SimpleMail via GitHub
git clone https://github.com/cutelyst/simple-mail.gitCrea Email HTML tramite API C++
La libreria open source SimpleMail supporta l'invio di email sia in testo semplice sia in contenuto HTML, consentendo una formattazione email più ricca. Puoi specificare un corpo HTML per email visivamente accattivanti, fornendo al contempo un'alternativa in testo semplice per i client email che non supportano HTML o per gli utenti che lo preferiscono. La libreria semplifica l'invio di email formattate con immagini o stili personalizzati, perché permette contenuto HTML nel tuo messaggio. Il frammento di codice seguente mostra come gli sviluppatori software possono inviare un'Email HTML con Immagini Inline.
Come inviare un'email HTML con immagini in linea tramite 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;
}
Supporto SMTP con Autenticazione
La libreria open source SimpleMail ha fornito un supporto completo per l'autenticazione SMTP all'interno delle applicazioni C++. La libreria supporta sia metodi di autenticazione plain sia login. Ciò garantisce la compatibilità con la maggior parte dei server SMTP, inclusi Gmail, Outlook e server personalizzati. Ecco un utile frammento di codice che mostra quanto sia semplice per gli sviluppatori C++ configurare le impostazioni SMTP, includendo STARTTLS sulla porta 587.
Come configurare le impostazioni SMTP nelle app 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");
Invia Email con Allegati tramite C++
Aggiungere allegati alle tue email è una necessità comune, e SimpleMail gestisce questo senza problemi. La libreria rende facile generare nuove email e allegare file a questi messaggi con poche righe di codice. Si occupa della codifica dell'allegato e dell'impostazione dei corretti tipi MIME. Gli sviluppatori possono specificare il percorso del file e, opzionalmente, un nome file personalizzato per l'allegato. L'esempio seguente mostra come gli sviluppatori software possono inviare un'Email con Allegati di File tramite API C++.
Come inviare un messaggio email con allegati di file tramite libreria 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;
}
Migliore Sicurezza con Supporto SSL/TLS
La sicurezza è fondamentale quando si trattano le email. La libreria SimpleMail supporta connessioni sicure ai server SMTP usando SSL (Secure Sockets Layer) e TLS (Transport Layer Security). Quando configuri lo SmtpServer, puoi specificare il ConnectionType come Ssl o Tls per garantire che la comunicazione con il server di posta sia crittografata. Questo protegge il contenuto dell'email e le credenziali di autenticazione da eventuali intercettazioni.