Qt:使用'mailto:'打开用户的电子邮件客户端失败
Qt: Use 'mailto:' to open user's email client fails for gmail
我使用Qt的openUrl((和"mailto"链接来打开用户的电子邮件客户端,正如这里最重要的答案所示。这适用于 Outlook,但如果用户的电子邮件客户端配置为在收到 mailto: 链接时打开 gmail,则整个收件人、主题和正文都位于电子邮件的"收件人"字段中。
QDesktopServices::openUrl(QUrl("mailto:" + to + "&subject=" + subject + "&body=" + body, QUrl::TolerantMode));
我尝试先对主题和正文进行编码,但这没有帮助。任何想法如何解决此问题或替代方法?(使用 Qt 5.9.5,但这也会影响以前的版本,例如 5.7.1。
这实际上不是与Qt相关的问题。问题出在HTML代码中。
根据这个答案,您应该将&subject
更改为?subject
才能使其正常工作。
所以你的代码应该是:
QDesktopServices::openUrl(QUrl("mailto:" + to + "?subject=" + subject + "&body=" + body, QUrl::TolerantMode));
我刚刚用Qt 5.10.0和Chrome 68.0.3440.106测试了它,它可以工作。
相关文章:
- "unknown ca"自生成的 CA、证书和客户端/服务器
- 如何将函数集合传递给客户端类,以便将它们当作客户端类本身的成员使用
- 使用调试/崩溃报告将应用程序部署到客户端
- 如何在本地机器上运行c++和javascript客户端代码(hackerbank风格)
- 如何通过套接字将文本文件的内容从服务器发送到客户端
- 从服务器传输到客户端的消息不会出现
- OpenSSL TLS服务器-使用客户端证书白名单
- 当服务中的事件被触发时,如何将响应从服务发送回客户端?
- Qt:使用'mailto:'打开用户的电子邮件客户端失败
- Waveshare 电子纸 ESP32 板上的 HTTP 客户端管理问题
- 在端口 587 (TLS) 上使用 CDO 发送电子邮件时出错
- 带有 TLS v. 1.2 和 SSL v.3 电子邮件客户端的 Boost.Asio 上下文:ssl3 警报意外消息
- 我想设计电子邮件客户端设计
- 使用UDP的电子邮件客户端/服务器
- 如何通过指定的电子邮件客户端发送消息
- 有没有可靠的方法可以在没有电子邮件客户端的情况下实现电子邮件功能
- 在Blackberry Cascades 10(C++、Qt、QML)中,如何在填充字段的情况下调用电子邮件客户端
- 启动预附加附件的用户标准邮件客户端
- 如何在没有邮件客户端的情况下使用Simple MAPI
- QT 狡猾与邮件客户端