使用一些html从Qt中打开默认邮件应用程序

时间:2015-02-23 13:22:50

标签: html c++ qt email

如何在Qt应用中从用户的邮件应用中打开默认撰写邮件窗口?

我发现有一些针对Qtmobility的移动课程,但由于我正在使用桌面应用程序,因此无法访问此课程。

我还发现人们使用带有mailto的URL sheme。这对我不起作用,因为html在某些时候被剥离,可能是因为url太长而且html没有用html呈现,而是以纯文本呈现。

如何在Qt中预先编写邮件并打开默认邮件应用程序?

2 个答案:

答案 0 :(得分:4)

在Qt中没有内置的方式来发送带有HTML格式的电子邮件。 Mailto方法适用于未格式化的文本,例如

QDesktopServices::openUrl(QUrl("mailto:?to=recipient@example.com&subject=The subject of an email&body=Here is some email body text", QUrl::TolerantMode));

但这个cannot be used用于html格式的文本。

如果您绝对需要HTML,则需要查看适用于您的平台的选项:

答案 1 :(得分:0)

旧主题但是:

您也可以尝试使用其他方式,使用网络服务。 我有一个php Web服务,可以将电子邮件发送到特定的邮件地址,所以我只是将消息数据发送到这个Web服务,这将为我处理其余的事情。

这是为了抽象自己使用大多数用户不具备的桌面软件(无论如何我们都使用gmail,所以你知道......)。 在php:

// sending mail to  my@address.com  
    $headers ='From: sender@address.com'."\n";
    $headers .="Reply-To: replyto@address.com"."\n";
    $headers .='Content-Type: text/plain; charset="iso-8859-1"'."\n";
    $headers .='Content-Transfer-Encoding: 8bit';
    mail('my@address.com', '[TAG] mail subject', "some body text.", $headers); 

虽然小心安全!