cutelyst / Simple Mail
Licence: lgpl-2.1
An SMTP library written in C++ for Qt. Allows applications to send emails (MIME with text, html, attachments, inline files, etc.) via SMTP. Supports SSL and SMTP authentication.
Stars: ✠134
Projects that are alternatives of or similar to Simple Mail
Versatile
A simple 3D model editor based on simple quads and a sprite set.
Stars: ✠132 (-1.49%)
Mutual labels: qt, qt5
Notepanda
📃 A simple cross-platform notepad. Based on Qt and C++.
Stars: ✠134 (+0%)
Mutual labels: qt, qt5
Mailmergelib
MailMergeLib is a mail message client library which provides comfortable mail merge capabilities for text, inline images and attachments, as well as good throughput and fault tolerance for sending mail messages.
Stars: ✠97 (-27.61%)
Mutual labels: mime, smtp
Qgnomeplatform
QPlatformTheme for a better Qt application inclusion in GNOME
Stars: ✠126 (-5.97%)
Mutual labels: qt, qt5
Apk Icon Editor
APK editor to easily change APK icons, name and version.
Stars: ✠104 (-22.39%)
Mutual labels: qt, qt5
Autoannotationtool
A label tool aim to reduce semantic segmentation label time, rectangle and polygon annotation is supported
Stars: ✠113 (-15.67%)
Mutual labels: qt, qt5
Linuxdeployqt
Makes Linux applications self-contained by copying in the libraries and plugins that the application uses, and optionally generates an AppImage. Can be used for Qt and other applications
Stars: ✠1,287 (+860.45%)
Mutual labels: qt, qt5
Tidal Discord Rich Presence Unofficial
UNOFFICIAL Tidal Discord Rich Presence
Stars: ✠93 (-30.6%)
Mutual labels: qt, qt5
Otter Browser
Otter Browser aims to recreate the best aspects of the classic Opera (12.x) UI using Qt5
Stars: ✠1,289 (+861.94%)
Mutual labels: qt, qt5
Awesome Kde
A curated list of awesome apps, extensions, modules, themes and tools for the KDE Desktop Environment.
Stars: ✠101 (-24.63%)
Mutual labels: qt, qt5
Examples
Learn to create a desktop app with Python and Qt
Stars: ✠1,196 (+792.54%)
Mutual labels: qt, qt5
Borg Backup Gui
BORG BackUP GUI is a simple GUI for managing Borg backups. Currently I am developing some extensions.
Stars: ✠77 (-42.54%)
Mutual labels: qt, qt5
Embedded Ide
IDE for C embedded development centered on bare-metal ARM systems
Stars: ✠127 (-5.22%)
Mutual labels: qt, qt5
SimpleMail
The SimpleMail is small library writen for Qt 5 or 6 (C++11) that allows applications to send complex emails (plain text, html, attachments, inline files, etc.) using the Simple Mail Transfer Protocol (SMTP).
Features:
- Blocking and Asyncronous modes
- SMTP pipelining
- TCP and SSL connections to SMTP servers (STARTTLS included)
- SMTP authentication (PLAIN, LOGIN, CRAM-MD5 methods)
- sending MIME emails (to multiple recipients)
- plain text and HTML (with inline files) content in emails
- nested mime emails (mixed/alternative, mixed/related)
- multiple attachments and inline files (used in HTML)
- different character sets (ascii, utf-8, etc) and encoding methods (7bit, 8bit, base64)
- multiple types of recipients (to, cc, bcc)
- error handling (including RESET command)
- output compilant with RFC2045
Examples
Async Exaplame:
#include <QCoreApplication>
#include <SimpleMail/SimpleMail>
int main(int argc, char *argv[])
{
QCoreApplication app(argc, argv);
// First we need to create an Server object
auto server = new SimpleMail::Server;
// We will use the Gmail's smtp server (smtp.gmail.com, port 465, ssl)
server->setHost("smtp.gmail.com");
server->setPort(465);
server->setConnectionType(SimpleMail::Server::SslConnection);
// We need to set the username (your email address) and the password for smtp authentification.
server->setUsername("[email protected]");
server->setPassword("your_password");
// Now we create a MimeMessage object. This will be the email.
SimpleMail::MimeMessage message;
message.setSender(SimpleMail::EmailAddress("[email protected]", "Your Name"));
message.addTo(SimpleMail::EmailAddress("Recipient's Name <[email protected]>"));
message.setSubject("Testing Subject");
// First we create a MimeText object.
// This must be created with new otherwise it will be deleted once we leave the scope.
auto text = new MimeText;
// Now add some text to the email.
text->setText("Hi,\nThis is a simple email message.\n");
// Now add it to the mail
message.addPart(text);
// Now we can send the mail
SimpleMail::ServerReply *reply = server->sendMail(message);
QObject::connect(reply, &SimpleMail::ServerReply::finished, [reply] {
qDebug() << "ServerReply finished" << reply->error() << reply->responseText();
reply->deleteLater();// Don't forget to delete it
qApp->quit();
});
app.exec();
}
Blocking example:
#include <QCoreApplication>
#include <SimpleMail/SimpleMail>
int main(int argc, char *argv[])
{
QCoreApplication app(argc, argv);
// First we need to create an Sender object
// We will use the Gmail's smtp server (smtp.gmail.com, port 465, ssl)
SimpleMail::Sender sender("smtp.gmail.com", 465, SimpleMail::Sender::SslConnection);
// We need to set the username (your email address) and the password
// for smtp authentification.
sender.setUser("[email protected]");
sender.setPassword("your_password");
// Now we create a MimeMessage object. This will be the email.
SimpleMail::MimeMessage message;
message.setSender(SimpleMail::EmailAddress("[email protected]", "Your Name"));
message.addTo(SimpleMail::EmailAddress("Recipient's Name <[email protected]>"));
message.setSubject("Testing Subject");
// First we create a MimeText object.
SimpleMail::MimeText text;
// Now add some text to the email.
text.setText("Hi,\nThis is a simple email message.\n");
// Now add it to the mail
message.addPart(&text);
// Now we can send the mail
sender.sendMail(message); // Blocks untill mail is delivered or errored
}
License
This project (all files including the demos/examples) is licensed under the GNU LGPL, version 2.1+.
Note that the project description data, including the texts, logos, images, and/or trademarks,
for each open source project belongs to its rightful owner.
If you wish to add or remove any projects, please contact us at [email protected].