gpt4 book ai didi

c++ - 连接到smtp服务器windows C++

转载 作者:行者123 更新时间:2023-11-30 04:16:29 25 4
gpt4 key购买 nike

我正在尝试创建一个客户经理。我已经阅读了一些有关套接字的信息。我正在迈出第一步,但遇到了第一个问题。

这是我的代码:

     #include <iostream>
#include <cstdio>
#include <winsock2.h>
#include <windows.h>
#pragma comment (lib, "ws2_32.lib")

using namespace std;
const int VERSION_MAJOR = 1;
const int VERSION_MINOR = 1;

int main()
{
WSADATA WSData;
SOCKET sock;
struct sockaddr_in addr;

WSAStartup(MAKEWORD(VERSION_MAJOR, VERSION_MINOR), &WSData)

sock = socket(AF_INET, SOCK_STREAM, 0);
addr.sin_family = AF_INET;
addr.sin_port = htons(25); // или любой другой порт...
hostent *server_adress = gethostbyname("smtp.gmail.com");
addr.sin_addr.s_addr = *((unsigned long *)server_adress->h_addr_list[0]);
int con = connect(sock, (struct sockaddr *) &addr, sizeof(addr));
cout << "connect status " << con << '\n';

return 0;
}

connect() 返回 -1

为什么我连接不上?哪里错了?

请帮帮我

最佳答案

在下一行中:

sock = socket(AF_INET, SOCK_STREAM, 0);

您没有指定协议(protocol)。你应该把它改成

sock = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);

这就是您要与诸如邮件服务之类的东西建立的那种协议(protocol)。

关于c++ - 连接到smtp服务器windows C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17761104/

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