我尝试使用 Qt 发送一封带有准备好的主题、收件人和正文的电子邮件。邮件应在系统默认邮件客户端中打开。我正在使用 KMail 和 Qt 5.5 在 Linux 上进行测试。
这是我打算使用的代码:
QDesktopServices::openUrl(QUrl("mailto:?to=test@test.com&subject=Test&body=line1%0D%0Aline2", QUrl::TolerantMode));
邮件窗口打开,主题和收件人都正常。不幸的是,体内的换行符不起作用。我也尝试过<br>, \n, \r\n
,但这些都没有奏效。我还尝试了其他构建 a 的方法,QUrl
但它只会变得更糟。
这似乎不是 KMail 问题,因为将以下内容写入 HTML 文档、在 Firefox 中打开并单击浏览器中的链接时,它完全符合我的要求(包括正文中的换行符):
<a href="mailto:?to=test@test.com&subject=test&body=line1%0D%0Aline2">test</a>
如何解决换行问题?
更新:
kmail "mailto:?to=test@test.com&subject=test&body=line1%0D%0Aline2"
也不起作用。似乎是与 KMail 相关的问题。人们告诉我上述语法适用于雷鸟。