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

Open default mail app from within Qt with some html

如何在 Qt 应用程序中从用户的邮件应用程序打开默认撰写邮件 window?

我发现有一些 class 用于带有 Qtmobility 的移动设备,但我无法访问此 class,因为我正在开发桌面应用程序。

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

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

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,则需要查看适用于您的平台的选项:

老话题但是:

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

这是为了让您自己使用大多数时候用户没有的桌面软件(反正我们都使用 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); 

注意安全!