Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > C/C++ Сетевое программирование
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.11.2010, 19:52   #1
pufystyj
Форумчанин
 
Аватар для pufystyj
 
Регистрация: 10.11.2010
Сообщений: 585
Вопрос Связь с smtp-сервером не запускается

помогите вот у мя код:

Цитата:
#include <windows.h>
#include <winsock.h>
#include <stdio.h>

WSADATA ws;
SOCKET s;
struct sockaddr_in addr;
hostent *d_addr;
char text[1024];

int main()
{
// èíèöèàëèçèðóåì ñîêåòû
if (FAILED (WSAStartup (MAKEWORD( 1,1 ), &ws)))
{
printf("Error in WSAStartup(...)\n");
return 1; }

// ñîçäàåì ñîêåò
s = socket (AF_INET, SOCK_STREAM, 0);
if (s == INVALID_SOCKET)
{
printf("Error in socket(...)\n");
return 1; }

// ïîëó÷àåì àäðåñ ñåðâåðà
d_addr = gethostbyname ("smtp.mail.ru");
if (d_addr==NULL)
{
printf("Error in gethostbyname(...)\n");
return 1; };

// çàïîëíÿåì ïàðàìåòðû àäðåñà
addr.sin_family = AF_INET;
addr.sin_addr.s_addr = *((unsigned long *) d_addr->h_addr);
addr.sin_port = htons (25);

// óñòàíàâëèâàåì ñîåäèíåíèå
if (SOCKET_ERROR == (connect (s, (sockaddr *) &addr,
sizeof (addr))))
{
printf("Error in connect(...)\n");
return 1; }

// æäåì îòâåò îò ñåðâåðà
recv(s,text,sizeof(text),0);
printf("recv - %s", text);

// ïðèâåòñòâóåì ñåðâåð
strcpy(text,"HELO smtp.mail.ru\r\n");
send(s,text,strlen(text),0);
printf("send - %s", text);

// æäåì ïîäòâåðæäåíèå îò ñåðâåðà
recv(s,text,sizeof(text),0);
printf("recv - %s", text);

// íà÷èíàåì îòïðàâëÿòü êîíâåðò ñîñòîÿùèé èç ïîëåé
// MAIL FROM: è RCPT TO: Ïîñëå êàæäîãî ïîëÿ æäåì
// ïîäòâåðæäåíèå

// ñîîáùàåì îòïðàâèòåëÿ
strcpy(text,"MAIL FROM: x-enter12@mail.ru ");
send(s,text,strlen(text),0);
printf("send - %s", text);

// æäåì ïîäòâåðæäåíèå îò ñåðâåðà
recv(s,text,sizeof(text),0);
printf("recv - %s", text);

// ñîîáùàåì ïîëó÷àòåëÿ
strcpy(text,"RCPT TO: x-enter@mail.ru ");
send(s,text,strlen(text),0);
printf("send - %s", text);

// æäåì ïîäòâåðæäåíèå îò ñåðâåðà
recv(s,text,sizeof(text),0);
printf("recv - %s", text);

// ïîäàåì êîìàíäó, ÷òî ãîòîâû íà÷àòü ïåðåäà÷ó ïèñüìà
strcpy(text,"DATA\r\n");
send(s,text,strlen(text),0);
printf("send - %s", text);

// æäåì ïîäòâåðæäåíèå îò ñåðâåðà
recv(s,text,sizeof(text),0);
printf("recv - %s", text);

// ïåðåäàåì çàãîëîâîê

// îò êîãî ïèñüìî
strcpy(text,"FROM: x-enter12@mail.ru ");
send(s,text,strlen(text),0);
printf("send - %s", text);

// êîìó ïèñüìî
strcpy(text,"TO: x-enter@mail.ru ");
send(s,text,strlen(text),0);
printf("send - %s", text);

// òåìà ïèñüìà
strcpy(text,"SUBJECT: test\r\n");
send(s,text,strlen(text),0);
printf("send - %s", text);

// òåêñò ïèñüìà
strcpy(text,"Hi!\nIt is a message for you\n");
send(s,text,strlen(text),0);
printf("send - %s", text);

// ãîâîðèì, ÷òî çàêîí÷èëè
strcpy(text,"\r\n.\r\n");
send(s,text,strlen(text),0);
printf("send - %s", text);
recv(s,text,sizeof(text),0);
printf("recv - %s", text);

// ïðîùàåìñÿ ñ ñåðâåðîì
strcpy(text,"QUIT");
send(s,text,strlen(text),0);
printf("send - %s", text);

// çàêðûâàåì ñîêåò
closesocket(s);

return 0;
}
у меня проблема когда компилюю ошибок нет... а когда запускаю во:
Цитата:
otpravka heshu.obj : error LNK2001: unresolved external symbol _closesocket@4
otpravka heshu.obj : error LNK2001: unresolved external symbol _send@16
otpravka heshu.obj : error LNK2001: unresolved external symbol _recv@16
otpravka heshu.obj : error LNK2001: unresolved external symbol _connect@12
otpravka heshu.obj : error LNK2001: unresolved external symbol _htons@4
otpravka heshu.obj : error LNK2001: unresolved external symbol _gethostbyname@4
otpravka heshu.obj : error LNK2001: unresolved external symbol _socket@12
otpravka heshu.obj : error LNK2001: unresolved external symbol _WSAStartup@8
Debug/otpravka heshu.exe : fatal error LNK1120: 8 unresolved externals
что делать?
Это ещё не конец и даже не начало конца, это возможно только конец начала.
pufystyj вне форума Ответить с цитированием
Старый 11.11.2010, 20:02   #2
Syuf
Форумчанин
 
Аватар для Syuf
 
Регистрация: 02.02.2010
Сообщений: 599
По умолчанию

А вы в опции проекта добавили имя библиотеки?
"Лишь то читается легко, что написано с трудом; что в час написано, то в час и позабыто."
Syuf вне форума Ответить с цитированием
Старый 11.11.2010, 20:14   #3
pufystyj
Форумчанин
 
Аватар для pufystyj
 
Регистрация: 10.11.2010
Сообщений: 585
Вопрос

Цитата:
Сообщение от Syuf Посмотреть сообщение
А вы в опции проекта добавили имя библиотеки?
как это зделать? что вы имеете ввиду?
Это ещё не конец и даже не начало конца, это возможно только конец начала.
pufystyj вне форума Ответить с цитированием
Старый 11.11.2010, 20:20   #4
Syuf
Форумчанин
 
Аватар для Syuf
 
Регистрация: 02.02.2010
Сообщений: 599
По умолчанию

В меню Project -> otpravke heshu Properties <Alt+F7> -> Configuration Properties -> Linker -> Input -> Additional Dependencies введите "ws2_32.lib"
"Лишь то читается легко, что написано с трудом; что в час написано, то в час и позабыто."
Syuf вне форума Ответить с цитированием
Старый 11.11.2010, 20:37   #5
pufystyj
Форумчанин
 
Аватар для pufystyj
 
Регистрация: 10.11.2010
Сообщений: 585
Вопрос

Цитата:
Сообщение от Syuf Посмотреть сообщение
В меню Project -> otpravke heshu Properties <Alt+F7> -> Configuration Properties -> Linker -> Input -> Additional Dependencies введите "ws2_32.lib"
у мя чуть-чуть не так идёт, но я дописал ws2_32.lib и пошло... СПС
Это ещё не конец и даже не начало конца, это возможно только конец начала.
pufystyj вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите пожалуйста с SMTP-сервером на Delphi!!!! Solny6ko YasnoE Общие вопросы Delphi 7 30.07.2009 18:52
работа с Com-сервером Gigantis Помощь студентам 2 03.07.2009 13:35
Соединение с сервером DeDoK Работа с сетью в Delphi 1 27.04.2008 12:46
При выполнении запроса из проекта пропадает связь с сервером D-mon БД в Delphi 4 19.11.2007 12:24
Помогите с сервером! delphier Работа с сетью в Delphi 1 20.08.2007 20:00