当用户单击tcl/Tk程序中的按钮时,我正在寻找生成预定义邮件的可能性。到目前为止,我使用的是mailto-protocol,但是由于预定义的消息可能有很长的主体,所以消息可能会在某个时候被剪切。因此,这不是真正的解决办法。
到目前为止,我发现的所有替代方案都有一些缺点。那么,是否有可能满足以下要求?
仅仅在后台发送邮件是不可能的,因为它应该是真正透明的发生的事情和发送的信息.(我知道关于类似的话题已经有很多问题,但我还没有找到一个对我有用的解决方案。)
发布于 2015-11-11 15:22:57
应该可以通过tcom通过 COM object自动发送邮件。
这是只适用于Windows的解决方案。
一个跨平台的解决方案应该在任何地方都能工作,就是使用包mime构造消息,使用smtp发送消息。两者都是“标准Tcl库”( tcllib )的一部分,可在任何有Tcl封装的合理系统上使用。
至于
仅仅在后台发送邮件是不可能的,因为它应该是真正透明的发生的事情和发送的信息.
我没能解析出来。你可以试着重新制定吗?
更新:
好吧,好吧,在重读了标题之后,我想我完全不明白这个问题的本质。
如果所需要的一切都是打开电子邮件消息--就像在“带有MIME格式的文本表示电子邮件的文件”中一样,我认为这是不可能的,因为对于具有mailto方案的URI,指定了“处理电子邮件的默认程序”。
如果需要的是在Windows上生成一个默认的邮件客户端,要求它打开一个窗口,让用户编写一条发送到预定义地址的电子邮件消息,那么您可以使用
exec [list rundll32.exe uri.dll,FileProtocolHandler "malto:$addr"]其中addr变量包含收件人的电子邮件地址。
mailto: URI允许指定消息体(可能就是您当前使用的消息体),但它们(正确地说)不允许将文件名解释为消息,因此似乎无法使用预先生成的消息打开邮件客户端。
更新2:
好吧,也许我终于明白了你所说的“应该透明.”是什么意思。你的意思是用户必须亲眼看到会发送什么,对吧?但是,仅仅通过向用户显示将发送的对话框窗口来模拟电子邮件客户端有什么问题呢?这是我所见过的每一个具有类似特性的软件产品所使用的。微软和Mozilla的各种产品被认为是最明显的例子。他们只是提供一个对话框来浏览将要发送的内容。
请注意,即使用户在真正的邮件客户端中看到了“将要发送的内容”,并使用自己的手单击"Send“,也不会阻止处理此消息(通常至少两种)的任何主机修改它,除非它是加密签名的消息(以S/MIME格式)。
你确定你想走那么远吗?
https://stackoverflow.com/questions/33652943
复制相似问题