is there anyway to Send Email to someone in Qt?
-
@raven-worx
after cmake and compile error in vs:
simple-mail-master\build\src\simplemail-qt5_autogen\include_Debug\EWIEGA46WW/moc_sender.cpp(197): error C2491: 'SimpleMail::Sender::staticMetaObject': definition of dllimport static data member not allowedvs2017, x64,
Qt\5.12.3\msvc2017_64\lib\cmake\Qt5\Qt5Config.cmake -
@opengpu
i haven't written nor used those 3rd party libs, i just pointed them out. -
anyone ever used libcurl to send email to smtp server?how many milliseconds it need for sending mail one time?is it fast enough to send email by libcurl in mainThread?
i tried this one, it works. but it's slow, as it needs about 3000 milliseconds for sending email one time.
https://github.com/bluetiger9/SmtpClient-for-Qt -
@opengpu said in is there anyway to Send Email to someone in Qt?:
as it needs about 3000 milliseconds for sending email one time.
you mean 3000 ms till you've sent the email contents to the server?
or 3000 ms till you received it in the receivers mailbox? -
@raven-worx just the sent code complish
-
// 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 password // for smtp authentification. smtp.setUser("your_email_address@host.com"); smtp.setPassword("your_password"); // Now we create a MimeMessage object. This is the email. MimeMessage message; EmailAddress sender("your_email_address@host.com", "Your Name"); message.setSender(&sender); EmailAddress to("recipient@host.com", "Recipient's Name"); message.addRecipient(&to); 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 if (!smtp.connectToHost()) { qDebug() << "Failed to connect to host!" << endl; return -1; } if (!smtp.login()) { qDebug() << "Failed to login!" << endl; return -2; } if (!smtp.sendMail(message)) { qDebug() << "Failed to send mail!" << endl; return -3; } smtp.quit();
-
@opengpu
does it help to keep the SmtpClient instance? instead of creating a new one everytime you send an email -
@raven-worx said in is there anyway to Send Email to someone in Qt?:
does
seems not. i put all of this in another thread. so better. but the time of this func is still slow. the time is mainly cost on connectToHost, login, sendMail. and u can easily test it.
-
@opengpu said in is there anyway to Send Email to someone in Qt?:
seems not. i put all of this in another thread. so better. but the time of this func is still slow. the time is mainly cost on connectToHost, login, sendMail. and u can easily test it.
well it doesn't matter if you move it to another thread if you still create a new instance everytime you send an email.
Also where does the
SmtpClient
class come from? -
Since no one has mentioned it, you can use
QDesktopServices::openUrl()
with a URL like "mailto:anybody@anywhere.com" which will open the default email client as a new message to that address. However, the user must fill in the subject and message body as well as adding any additional CC or BCC addresses, etc.But this might be enough if it is all you need, and extremely simple to use.
-
This post is deleted!
-
This post is deleted!
-
@maksimilijan
This is what POP3 or IMAP do? -
@maksimilijan Please stop double posting!
https://forum.qt.io/topic/70601/how-to-send-email-using-qt-5-5-1/22 -
This post is deleted!
-
@maksimilijan said in is there anyway to Send Email to someone in Qt?:
the professor didn't specify
Do you want that somebody does your home work for you?
-
This post is deleted!