繁体   English   中英

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

[英]How can I send a message via a specified email client?

我有一个向电子邮件客户端发送格式化消息和地址的应用程序(例如Lotus Notes,Outlook等-最好是前者)。 然后,客户端应在没有任何干预的情况下在后台邮寄该消息(即,没有人必须按下客户端的发送按钮)。

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

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

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

这在某种程度上取决于平台,并且可以通过以下两种方式之一进行处理:有一个邮件服务器进程,您可以连接到该服务器(使用套接字); 或者,将输出通过管道传输到邮件客户端(Unix下为mailmailx )。 通常,通过管道发送到邮件客户端更为简单,但是我不确定Windows计算机是否已经一应俱全。 (您说您有一个默认的电子邮件客户端。采用什么形式?如果是URL,则需要使用套接字;如果是本地程序的名称,则为管道。)

在这两种情况下,您可能都想创建一个streambuf来处理输出,以便使用std::ostream所有格式设置可能性。

如果要在后台执行此操作,最可靠的方法是创建一个单独的过程:将数据写入文件,然后使用system执行邮件客户端并在完成后删除文件(一个小批处理脚本)。 另外,如果您确定在发送邮件之前不会杀死您的进程,则可以在单独的线程中执行此操作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM