如何在Qt应用中从用户的邮件应用中打开默认撰写邮件窗口?
我发现有一些针对Qtmobility的移动课程,但由于我正在使用桌面应用程序,因此无法访问此课程。
我还发现人们使用带有mailto的URL sheme。这对我不起作用,因为html在某些时候被剥离,可能是因为url太长而且html没有用html呈现,而是以纯文本呈现。
如何在Qt中预先编写邮件并打开默认邮件应用程序?
答案 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);
虽然小心安全!