gpt4 book ai didi

c++ - 用于 smtps 的窗口 api

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

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

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

最佳答案

这是(至少根据我的经验)没有图书馆你会过得更好的地方之一。 Microsoft 提供(至少)MAPI、Simple MAPI 和 CDO 作为发送电子邮件的方式。不幸的是,至少根据我的经验,所有这些(尤其是 MAPI)都比您自己完成这项工作复杂得多。

至少只要您处理的是不安全的电子邮件连接,在没有库的情况下完成这项工作就非常简单:连接到端口 25 上的服务器。向它发送一些字符串和电子邮件。当您认真对待它时,“简单”就是“简单邮件传输协议(protocol)”是完全有道理的——它确实非常简单。

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

处理附件是一个(大部分)单独的问题。附件只是作为电子邮件正文中的文本结束,带有足够的标题来告诉接收电子邮件程序将其解释为附件而不是文本。存在三种相当流行的可能性:BinHex、UUencode 和 MIME。如果您只想做简单的附件,UUencode 可能是您的最佳选择。 MIME 更强大,但也复杂得多。使用它的主要原因是如果您想做简单附件以外的事情(例如,嵌入而不是附加文件的电子邮件)。 BinHex 的实现稍微简单一些,但会浪费更多空间——使用它的主要原因是一些无法处理其他任何事情的古老电子邮件客户端。

关于c++ - 用于 smtps 的窗口 api,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3595022/

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