gpt4 book ai didi

c++ - 如何通过指定的电子邮件客户端发送消息?

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:59:19 26 4
gpt4 key购买 nike

我有一个应用程序需要将格式化的消息和地址发送到电子邮件客户端(例如 Lotus Notes、Outlook 等 - 最好是前者)。然后,客户端应在后台发送该消息而无需任何干预(即,任何人都不必在客户端中按下发送按钮)。

我有消息,我有地址,我知道如何选择默认电子邮件客户端。

如何发送预先格式化的消息和地址(我猜是一些 MAIL:TO)并让客户端自动发送消息?

该应用程序使用 C++ 和 Qt。我可能需要调用客户端的一些 API。他们会暴露这些吗?

最佳答案

这在某种程度上依赖于平台,可以通过以下两种方式之一来处理方法:有一个邮件服务器进程,您可以连接到该进程(使用 socket );或者,您将输出通过管道传输到邮件客户端(mailmailx在 Unix 下)。到邮件客户端的管道通常更简单,但我不是确保 Windows 机器有一个现成的。 (你说你有一个默认电子邮件客户端。以什么形式?如果是 URL,则需要使用 socket ;如果它是本地程序的名称,则为管道。)

在这两种情况下,您可能希望创建一个 streambuf 来处理输出,为了使用所有的格式化可能性std::ostream

如果你想在后台做,最可靠的方法是创建一个单独进程:将数据写入文件,然后使用system执行邮件客户端并在完成后删除文件(一个小批处理脚本)。或者,如果您确定在邮件发送之前,您的进程不会被终止。

关于c++ - 如何通过指定的电子邮件客户端发送消息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12104475/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com