电子邮件地址中的c++smtp服务器主机名
c++ smtp server hostname from email address
是否有通用的解决方案可以从c/c++中的电子邮件地址查找smtp服务器主机名或ip?
到目前为止,我只是在域名前面加了"smtp.",但我不确定这是否是一般的保证?
最后一件事,我仍然使用getaddrinfo来获取实际的IP。它仍然是标准的吗?至少我觉得它现在应该已经过时了:D。
是否有通用的解决方案可以从c/c++中的电子邮件地址查找smtp服务器主机名或ip?
不是一个通用的解决方案,不是。尽管肯定有第三方SMTP库可以提供这种功能,如果你环顾四周的话。
到目前为止,我只是在域名前面加了"smtp.",但我不确定这是否是一般的保证?
不,不是。正确的解决方案是提取电子邮件地址的域部分(@
之后的所有内容(,然后执行DNS查找,询问该域的MX记录。这些记录将提供域的SMTP服务器的主机名以及使用它们的优先级。然后,您可以根据需要使用额外的DNS查找将这些主机名解析为IP地址,要求提供A(IPv4(和AAAA(IPv6(记录。
但是,如果您的目标是直接向给定域的SMTP系统发送电子邮件,请不要。正确的解决方案是通过您自己的电子邮件提供商的SMTP服务器发送电子邮件,并根据需要将电子邮件中继到其他SMTP系统。作为一项反垃圾邮件措施,大多数SMTP服务器不允许来自未知来源的电子邮件传递,只允许来自其自己的用户,以及来自其他已知和受信任的ISP/SMTP系统的电子邮件传递。
最后一件事,我仍然使用getaddrinfo来获取实际的IP。它仍然是标准的吗?
为了将主机名解析为IP地址,可以。
但是您不能使用getaddrinfo()
来检索域的SMTP主机名。你必须直接查询DNS服务器(有很多可用的DNS库,或者你可以在自己的代码中手动实现DNS协议(。
- "unknown ca"自生成的 CA、证书和客户端/服务器
- 当我编译webrtc服务器时,Windows上只支持clang-cl
- Cuda C++:设备上的Malloc类,并用来自主机的数据填充它
- EvtExportLogneneneba API正在将远程计算机的事件日志保存到远程PC本身.如何将其保存到主机
- 如何通过套接字将文本文件的内容从服务器发送到客户端
- 有没有办法知道Tracer是否成功地完全连接到了jaegerclientcpp中的jaeger后端服务器
- 从服务器传输到客户端的消息不会出现
- QTcpSocket在不阻塞GUI的情况下重新连接到服务器
- OpenSSL TLS服务器-使用客户端证书白名单
- 我正在开发服务器,ip作为参数传递不起作用
- 电子邮件地址中的c++smtp服务器主机名
- 从主机向在VirtualBox linux机器上运行的服务器发送http请求
- 无法将主机名"localhost"转换为地址:未知服务器错误
- 从服务器端C++套接字主机名
- 如何在一台本地计算机/主机上对简单的 TCP 客户端/服务器进行单元测试
- 如何获取服务器的主机名
- 通过编程方式获取主机的DNS IPv6服务器
- 如何从客户端访问服务器主机名中知道客户端访问服务器FQDN
- 与minecraft bukkit服务器握手-发送服务器主机字段失败
- 如何配置xmlrpc-c深渊服务器主机