最后更新:2021-11-14 21:51:00 手机定位技术交流文章
目录
首先,你为什么选择 libcurl 库发送邮件?
2. 邮件递送使用libcurl图书馆的API接口。
3. 创建要发送的信息内容。
4. SMTP服务,用于163个发送邮件的电子邮件账户
5. 检查收件函内容的问题无效。
Libcurl是一个自由、开放源码的网络传输库,它支持一系列协议,如ftp、ftps、tftp、https等,https、Telnet、ldap、pop3、smtp.支持这些协议的网络通信模块被用libcurl包装,以支持跨平台和许多操作系统,如Windows、Unix、Linux等等。

如果我们自己去使用socket套接字要编码、连接到 smtp 邮件服务器并完成与服务器 smtp 协议的交互作用,整个过程将非常困难,特别是在处理网络通信过程中的许多异常时,而且不能保证整体的稳定性和稳健性。
libcurl 已安装 。smtp协议所有的流程, 我们不需要担心实际协议实现的具体细节, 我们只需要联系 libcurl API 接口来发送信息。 libcurl 库的可靠性是不容置疑的 。
我们可以从官方网站获取libcurl开源的最新来源, 创建用于视觉工作室的 Dll 库, 用视觉工作室编集libcurl 代码, 然后写一篇关于它的文章。
先调用curl_easy_init界面加载 libcurl 库并调用curl_easy_setopt设置将要使用的 URL 请求地址( 通过 CURLOPT_URL 选项) 。url的前缀指定要使用的协议的具体类型。 例如, 在此情况下, Smtp 协议用于发送邮件 :
smtp 前缀用于提供 URL, 后面是 IP 地址和 目的服务器的端口号 。
使用适当的协议进行数据交换时,可设定用户名和密码等进一步信息,所有协议都可通过执行Curl_easi_setoppt而更改:
数据由CURLOPT_READDATA选项去设置:
最后调用curl_easy_perform或者curl_multi_perform界面开始请求, 之后它连接到 URL 显示的服务器, 完成指定的协议协商和互动, 最后完成数据传输, 使用服务器必需的软件, 开始请求, 之后它连接到 URL 显示的服务器, 完成指定的协议协商和互动, 最后完成与服务器的数据传输 。
用于发送电子邮件的整个 libcurl 库代码如下:
Libcurl负责连接SMTP邮件服务器,并与SMTP基本邮件协议进行协商和互动。然而,为了传达这一信息,我们必须根据议定书自行构建这一信息。通过电子邮件传送的文本的数据格式是什么? 发现能够发送邮件的软件、在发送邮件时抓取袋子和捕捉相关格式的软件很简单, 例如 :

使用以下代码,用上述方式将所有事情综合起来:
在代码处理后,运行以下测试程序:

在上述接口中,输入163 SMTP 服务器地址,使用默认的 25 个端口,填写发送邮件地址和发送信件的密码。如果您按下发送测试邮件按钮, 电子邮件发送不成功 。。
在代码中添加已发现的断点调试curl_easy_perform接口返回的错误码为CURLE_LOGIN_DENIED,如下所示:

然后我们走过CURLE_OK, 转到错误代码定义页眉文件, 并查看 CURLE_LOGIN_DENED错误代码的含义 :

此备注可能由用户名或发送电子邮件所使用的密码中的错误触发。 用户名和密码应该填入 。 因此, 账户号会插入网页上的 163 邮箱, 登录成功, 显示账户号和密码是正确的 。
后来想到,您想要在邮件账户中启用 smtp 服务吗?您可访问 163 SMTP 服务器? 因此, 您可以访问网站, 并寻找 smtp 服务门户, 该门户可以建立以下的经常账户 :



要删除以下提示框,请单击按钮:

点击这里继续到下一页 :

由于建议要求扫描发送文本信息以供验证,因此使用网络友好邮件主APP扫描并立即移动到发送文本信息的网页上,合法文本信息很容易发送。授权密码页面:

要记录此授权密码, 请使用它访问 smtp 服务器, 而不是账户代码!
因此,在测试页面输入许可代码,电子邮件将成功发送。
电子邮件和邮件可以发送和接收。但是,收到的电子邮件都是空白的。:

实际情况如何?为什么邮件在发送时是空的?
几年前对代码进行了测试,仿佛一切都很好。 163个邮箱系统是否已经修改,以便不再使用过时的数据格式? 因此,对于海康的视频监控客户来说,客户可以免费下载并免费使用它,只要系统配置了邮件发送功能:

使用上述Haikang之间的接口发送测试邮件并不成问题,而收到的邮件也具有指导意义。所以把Haikang的邮件包(tcp.Port=25)从Haikang过滤出信息:

我们方案收集的另一封电子邮件如下:

因此我们详细比较了我们提供给海康的数据的实质内容,并试图调整我们的代码以生成邮件数据,例如字符集代码格式、字型类型,或者即使数据是空的。最后,许多尝试都试图找出原因。在特定信息中,您需要一条空线。因为我们的方法在建立邮件数据时不提供空值, 收到的邮件是空的!
本文由 在线网速测试 整理编辑,转载请注明出处。