-
Notifications
You must be signed in to change notification settings - Fork 228
Examples (v2.0)
Attila Tőkés edited this page Apr 23, 2022
·
2 revisions
Here are some examples that sows how to use the SmtpClient for Qt.
- Example 1 - A simple (text only) email
- Example 2 - Sending attachments
- Example 3 - HTML email with embedded images (inline files)
#include <QtGui/QApplication>
#include "../src/SmtpMime"
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
// This is a first demo application of the SmtpClient for Qt project
// First we need to create an SmtpClient object
// We will use the Gmail's smtp server (smtp.gmail.com, port 465, ssl)
SmtpClient smtp("smtp.gmail.com", 465, SmtpClient::SslConnection);
// We need to set the username (your email address) and the password
// for smtp authentification.
smtp.setUser("your_email_address@gmail.com");
smtp.setPassword("your_password");
// Now we create a MimeMessage object. This will be the email.
MimeMessage message;
message.setSender(EmailAddress("your_email_address@gmail.com", "Your Name"));
message.addRecipient(EmailAddress("recipient@host.com", "Recipient's Name"));
message.setSubject("SmtpClient for Qt - Demo");
// Now add some text to the email.
// First we create a MimeText object.
MimeText text;
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
smtp.connectToHost();
smtp.login();
smtp.sendMail(message);
smtp.quit();
}
#include <QtGui/QApplication>
#include "../src/SmtpMime"
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
// First create the SmtpClient object and set the user and the password.
SmtpClient smtp("smtp.gmail.com", 465, SmtpClient::SslConnection);
smtp.setUser("your_email_address@gmail.com");
smtp.setPassword("your_password");
// Create a MimeMessage
MimeMessage message;
message.setSender(EmailAddress("your_email_address@gmail.com", "Your Name"));
message.addRecipient(EmailAddress("recipient@host.com", "Recipient's Name"));
message.setSubject("SmtpClient for Qt - Demo");
// Add some text
MimeText text;
text.setText("Hi!\n This is an email with some attachments.");
message.addPart(&text);
// Now we create the attachment object
QFile image("image1.jpg");
MimeAttachment attachment(&image);
// the file type can be setted. (by default is application/octet-stream)
attachment.setContentType("image/jpg");
// Now add it to message
message.addPart(&attachment);
// Add an another attachment
QFile document("document.pdf")
MimeAttachment documentAttachment(&document);
message.addPart(&documentAttachment);
// Now we can send the mail
smtp.connectToHost();
smtp.login();
smtp.sendMail(message);
smtp.quit();
}
#include <QtGui/QApplication>
#include "../src/SmtpMime"
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
// First create the SmtpClient object and set the user and the password.
SmtpClient smtp("smtp.gmail.com", 465, SmtpClient::SslConnection);
smtp.setUser("your_email@gmail.com");
smtp.setPassword("your_password");
// Create a MimeMessage
MimeMessage message;
message.setSender(EmailAddress("your_email_address@gmail.com", "Your Name"));
message.addRecipient(EmailAddress("recipient@host.com", "Recipient's Name"));
message.setSubject("SmtpClient for Qt - Example 3 - Html email with images");
// Now we need to create a MimeHtml object for HTML content
MimeHtml html;
html.setHtml("<h1> Hello! </h1>"
"<h2> This is the first image </h2>"
"<img src='cid:image1' />"
"<h2> This is the second image </h2>"
"<img src='cid:image2' />");
// Create a MimeInlineFile object for each image
QFile imageFile1("image1.jpg");
MimeInlineFile image1 (&imageFile1);
// An unique content id must be setted
image1.setContentId("image1");
image1.setContentType("image/jpg");
QFile imageFile2("image2.jpg");
MimeInlineFile image2 (&imageFile2);
image2.setContentId("image2");
image2.setContentType("image/jpg");
message.addPart(&html);
message.addPart(&image1);
message.addPart(&image2);
// Now the email can be sended
smtp.connectToHost();
smtp.login();
smtp.sendMail(message);
smtp.quit();
}