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.
SimpleMail Nedir?
Modern C++ geliştirme dünyasında, e-posta işlevselliğini verimli ve güvenli bir şekilde yönetmek, bildirim sistemlerinden kullanıcı doğrulamalarına kadar geniş bir uygulama yelpazesi için kritik öneme sahiptir. Birçok yüksek seviyeli dil, SMTP e-posta yönetimi için zengin kütüphaneler sunsa da, C++ tarihsel olarak gerçekten hafif ve basit bir çözümden yoksundu. SimpleMail, QtCore ve QtNetwork modülleri üzerine inşa edilmiş bir C++ kütüphanesidir. SSL/TLS şifreleme, SMTP kimlik doğrulama, düz metin ve HTML mesaj içeriği, dosya ekleri, birden çok alıcı (To, Cc, Bcc) gibi özellikleri destekleyerek MIME uyumlu e-posta mesajlarını SMTP sunucuları üzerinden göndermek için basit bir arayüz sağlar. Koşulları izleyen cihazlar (ör. sıcaklık sensörleri veya akıllı ev geçitleri) anormallik durumunda kullanıcıları uyarmak için SimpleMail'i kullanabilir.
SimpleMail, C++ uygulamalarının ekli, HTML içerikli ve daha fazlasını SMTP üzerinden e-posta göndermesini sağlayan minimalist ama güçlü bir kütüphanedir. GitHub'da bakımını yapan SimpleMail, kullanım kolaylığı, esneklik ve sağlamlık sunan Qt tabanlı bir SMTP istemci kütüphanesidir. Masaüstü uygulaması ya da sunucu tarafı bir daemon geliştiriyor olun, bu kütüphane e-posta göndermek için temiz ve pratik bir arayüz sunar. Cutelyst ya da Wt gibi framework'ler kullanıyorsanız, SimpleMail kullanıcı bildirimleri veya işlem e-postaları göndermek için doğal bir seçimdir. SimpleMail, C++ geliştiricilerinin e-posta yeteneklerini doğrudan uygulamalarına entegre etmeleri için taze bir nefes gibidir. Küçük ayak izi, modern e-posta protokollerine güçlü destek ve Qt framework'üyle sorunsuz entegrasyonu sayesinde, birçok C++ geliştiricisinin beklediği her şeyi sunar.
SimpleMail ile Başlarken
SimpleMail'i kurmanın önerilen yolu GitHub kullanmaktır. Sorunsuz bir kurulum için lütfen aşağıdaki komutu kullanın.
GitHub üzerinden SimpleMail'i kurun
git clone https://github.com/cutelyst/simple-mail.gitC++ API ile HTML E-posta Oluşturma
Açık kaynak SimpleMail kütüphanesi, hem düz metin hem de HTML içeriğiyle e-posta göndermeyi destekleyerek daha zengin e-posta biçimlendirmesine olanak tanır. Görsel olarak çekici e-postalar için bir HTML gövdesi belirtebilir, aynı zamanda HTML desteklemeyen e-posta istemcileri veya tercih eden kullanıcılar için düz metin alternatifi sunabilirsiniz. Kütüphane, mesajınızda HTML içeriğine izin verdiği için görseller veya özel stiller içeren biçimlendirilmiş e-postalar göndermeyi kolaylaştırır. Aşağıdaki kod parçacıkları, yazılım geliştiricilerin satır içi görseller içeren bir HTML e-posta nasıl gönderebileceğini göstermektedir.
C++ API ile Satır İçi Görseller İçeren HTML E-posta Nasıl Gönderilir?
#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 Desteği ve Kimlik Doğrulama
Açık kaynak SimpleMail kütüphanesi, C++ uygulamaları içinde SMTP kimlik doğrulaması için tam destek sağlar. Kütüphane, hem düz hem de giriş (login) kimlik doğrulama yöntemlerini destekler. Bu, Gmail, Outlook ve özel sunucular dahil olmak üzere çoğu SMTP sunucusuyla uyumluluğu garanti eder. Aşağıdaki kod parçacığı, C++ geliştiricilerin STARTTLS ile 587 portu üzerinden SMTP ayarlarını ne kadar kolay yapılandırabileceğini göstermektedir.
C++ Uygulamalarında SMTP Ayarları Nasıl Yapılandırılır?
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++ ile Ekli E-posta Gönderme
E-postalarınıza ek eklemek yaygın bir gereksinimdir ve SimpleMail bunu sorunsuz bir şekilde halleder. Kütüphane, yeni e-postalar oluşturmayı ve bu mesajlara sadece birkaç satırla dosya eklemeyi kolaylaştırır. Eklerin kodlanması ve uygun MIME tiplerinin ayarlanmasıyla ilgilenir. Geliştiriciler dosya yolunu ve isteğe bağlı olarak ek için özel bir dosya adı belirtebilir. Aşağıdaki örnek, yazılım geliştiricilerin C++ API üzerinden dosya ekli bir e-posta nasıl gönderebileceğini göstermektedir.
C++ Kütüphanesi ile Dosya Ekli E-posta Mesajı Nasıl Gönderilir?
#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 Desteği ile Daha İyi Güvenlik
Güvenlik, e-posta ile çalışırken çok önemlidir. SimpleMail kütüphanesi, SSL (Secure Sockets Layer) ve TLS (Transport Layer Security) kullanarak SMTP sunucularına güvenli bağlantıları destekler. SmtpServer yapılandırılırken ConnectionType'ı Ssl ya da Tls olarak belirleyebilir ve böylece mail sunucusuyla iletişimin şifrelenmesini sağlayabilirsiniz. Bu, e-posta içeriğini ve kimlik doğrulama bilgilerini yakalanmalara karşı korur.