窗口api为smtps

时间:2010-08-29 13:58:14

标签: c++ winapi smtp

是否有任何可以使用smtp 和附件发送邮件的Windows API。 我听说它不可能,我必须使用其他套接字方法,如果它真的我怎么能这样做?

请建议仅使用c ++或c解决方案,不要使用c#或java(如system.net.mail等)

2 个答案:

答案 0 :(得分:1)

这是其中一个地方(至少根据我的经验)你没有图书馆会更好。 Microsoft提供(至少)MAPI,简单MAPI和CDO作为发送电子邮件的方式。不幸的是,至少根据我的经验,所有这些(特别是 MAPI)比自己完成工作要复杂得多。

至少只要您处理不安全的电子邮件连接,在没有库的情况下完成工作非常简单:在端口25上连接到服务器。发送一些字符串和电子邮件。当你谈到它时,“简单”就是“简单邮件传输协议”是完全有保证的 - 这真的很简单。

如果你想做一个安全的连接,你几乎肯定会想要使用一个库 - 创建一个安全的连接是一个非常重要的任务。由于您使用的是Windows,因此显而易见的选择是InternetOpenInternetConnect。与文档相反,InternetConnect将允许您在几乎任何端口上创建连接。它只列出了六种可能的左右,但是如果你只是传递一个实际的端口号,例如465或587,它应该可以工作 - 尽管有一些很少的端口WinInet块作为一个(可能)无效的安全措施。

处理附件是(大多数)单独的问题。附件只是最终作为电子邮件正文中的文本,有足够的标题告诉接收电子邮件程序将其解释为附件而不是文本。有三种相当流行的可能性:BinHex,UUencode和MIME。如果你只想做简单的附件,UUencode可能就是你要走的路。 MIME功能更强大,但更复杂。使用它的主要原因是如果你想做除简单附件之外的事情(例如,嵌入了文件而不是附加文件的电子邮件)。 BinHex实现起来稍微简单,但浪费了更多空间 - 使用它的主要原因是一些无法处理其他任何东西的古老电子邮件客户端。

答案 1 :(得分:0)

这是指向wxWidget smtp class的链接。如果你看一下,你应该知道如何发送电子邮件。