URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 6782
[ Назад ]

Исходное сообщение
"отправка сообщения через imap"

Отправлено viking , 24-Сен-07 16:37 
День добрый всемогущий алл.

Необходимо написать прогу для опроса почтового сервера на предмет новых писем по imap. Кое-что нарисовал, но вот проблемка: как отправить серверу несколько сообщений, вначале логин, затем проверку состояния почтового аккаунта и логаут. Одну команду могу отправить (send(sockfd, buf, sizeof(buf), 0). где buf[] = "a1 login test test\r\n"), а если 2 и более (где buf[] = "a1 login test test\r\n a2 logout) не прокатывает. Подскажите как сделать.

#include <iostream>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <strings.h>

int main () {
int sockfd;
int len;
struct sockaddr_in address;
int result;
char buf[] = "a1 login test test\r\n a2 logout";
char buf1[1024];

sockfd = socket(PF_INET,SOCK_STREAM,0);

address.sin_family = PF_INET;
address.sin_addr.s_addr = inet_addr("aaa.aaa.aaa.aaa");
address.sin_port = htons(143);
len = sizeof(address);

result = connect(sockfd, (struct sockaddr *) &address,len);
if (result == -1){
perror("oops : client1 ");
exit(1);
}

send(sockfd, buf, sizeof(buf), 0);
recv(sockfd, buf1, sizeof(buf1), 0);


printf(buf1);
close(sockfd);
exit(0);
}


Содержание

Сообщения в этом обсуждении
"отправка сообщения через imap"
Отправлено NuINu , 25-Сен-07 09:52 
>День добрый всемогущий алл.
>
>Необходимо написать прогу для опроса почтового сервера на предмет новых писем по
>char buf[] = "a1 login test test\r\n a2 logout";

ну а \r\n после логаута что ставить не надо?

а проверять результат логина тоже не надо что ли?
зачем ты торопишься? хоть протокол и позволяет выдавать несколько одновременных команд, это не значит что их все сразу надо делать.


"отправка сообщения через imap"
Отправлено viking , 25-Сен-07 11:33 
после logout ставил \r\n не помогает :-)). Вопрос в следующем: посылать следующию команду каким образом, если уж не торопиться???

"отправка сообщения через imap"
Отправлено NuINu , 25-Сен-07 12:07 
>после logout ставил \r\n не помогает :-)). Вопрос в следующем: посылать следующию
>команду каким образом, если уж не торопиться???

таким же как и предыдущую, а сначала ответа дождаться на a1


"отправка сообщения через imap"
Отправлено viking , 25-Сен-07 15:40 
Спасибо всем - все завелось. Тема закрыта