Shlop
@Shlop
Full Stack Developer (PHP/Laravel/JavaScript)

Как отправить сообщение с шифрование SSL/TLS в Winsock2?

Здравствуйте, подскажите пожалуйста, я использую Winsock2 для отправки почты через SMTP сервер:
sockaddr_in sin = {0};
			SOCKET s = socket(AF_INET, SOCK_STREAM, 0);
			sin.sin_family = AF_INET;
			sin.sin_port = htons(25);
			sin.sin_addr.s_addr = inet_addr("77.88.21.158");
			int err = connect(s, (sockaddr*)& sin, sizeof(sin));
			char buff[4096];
			memset(buff, '\0', sizeof(buff));
			if (SOCKET_ERROR != err)
			{
				const char* msg[] = {
					"EHLO yandex.ru\r\n",
					"AUTH LOGIN\r\n",
					"login\r\n", // Тут указываю логин от почты в base64
					"pass\r\n", // Тут пароль в base64
					"MAIL FROM:<sergey.program.com@yandex.ru>\r\n",
					"RCPT TO:<sergey.program.com@yandex.ru>\r\n",
					"DATA\r\n",
					"Subject:hello\r\n",
					"Hellow world gacpada \r\n\n.\r\n",
					"CRLF.CRLF\r\n",
					"QUIT\r\n"
				};
				for (int i = 0; i < 10; ++i)
				{
					send(s, msg[i], strlen(msg[i]), 0);
					memset(buff, '\0', 4096);
					recv(s, buff, 4096, 0);
					MessageBoxA(NULL, buff, "Окно", MB_OK);
				}
			}
			closesocket(s);
			break;

Когда происходит оправка в цикле через функцию send, на второй итерации цикла получаю такое вот сообщение:
5e3537c74024d385415571.png
email sending without ssl/tls encryption is not allowed

Подскажите пожалуйста как отправлять сообщение с шифрованием SSL/TLS ? Заранее благодарю за ответ.
  • Вопрос задан
  • 217 просмотров
Решения вопроса 1
@res2001
Developer, ex-admin
Используйте openssl или аналогичные библиотеки.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы