|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Aug 2002
Messaggi: 581
|
[C] utilizzare il protocollo SMTP
mi connetto al server di posta e mi ricosce, ma i comandi dopo HELO vengono rifiutati
Codice:
ecco la risposta dal server : Server echoed1 '220 vsmtp3.tin.it ESMTP Service (7.0.019) ready ' Server echoed2 '250-vsmtp3.tin.it Missing required domain name in EHLO, defaulte d to your IP address [80.107.21.103] 250-DSN 250-8BITMIME 250-PIPELINING 250-HELP 250-AUTH=LOGIN 250-AUTH LOGIN CRAM-MD5 DIGEST-MD5 PLAIN 250-DELIVERBY 300 250 SIZE 29999104 ' Server echoed3 '500 command unrecognized equired domain name in EHLO, defaulted to your IP address [80.107.21.103] 250-DSN 250-8BITMIME 250-PIPELINING 250-HELP 250-AUTH=LOGIN 250-AUTH LOGIN CRAM-MD5 DIGEST-MD5 PLAIN 250-DELIVERBY 300 250 SIZE 29999104 ' Server echoed4 '500 command unrecognized equired domain name in EHLO, defaulted to your IP address [80.107.21.103] 250-DSN 250-8BITMIME 250-PIPELINING 250-HELP 250-AUTH=LOGIN 250-AUTH LOGIN CRAM-MD5 DIGEST-MD5 PLAIN 250-DELIVERBY 300 250 SIZE 29999104 ' Sending 'Connection Closing' command Codice:
Questo e' il pezzo del sorgente :
#define MESHELO "ehlo\r\n\0"
#define MESQUIT "QUIT\r\n\0"
#define MESHELP "HELP\r\n\0"
#define MESNOOP "NOOP\r\n\0"
...
int main(int argc, char *argv[])
{
if ( argc < 2 ) Usage();
if (strcmp(argv[1], "client") == 0 )
{
// initialize wsock32.dll, requesting winsock 1.1
if (argc!=3 ) Usage();
if (!InitializeWinsock (MAKEWORD(1,1) ) ) return 1;
client(argv[2]);
WSACleanup();
}
return 0;
}
void client(char * server_IP)
{
SOCKET fd; // "file" descriptor for the network socket
SOCKADDR_IN saddr;
char buf[MAX_STRING];
struct hostent *h;
if ((h=gethostbyname(server_IP)) == NULL) { /* get the host info */
error("gethostbyname");
exit(1);
}
printf("Host name : %s\n", h->h_name);
printf("IP Address : %s\n\n",inet_ntoa(*((struct in_addr *)h->h_addr)));
if ((fd=socket(AF_INET,SOCK_STREAM,0)) == INVALID_SOCKET)
error("Client: socket not connected ");
saddr.sin_family = AF_INET;
saddr.sin_addr.s_addr = inet_addr(inet_ntoa(*((struct in_addr *)h->h_addr)));
saddr.sin_port = htons(PORT);
// request connection to server socket (remote machine)
if (connect(fd, (LPSOCKADDR) &saddr, sizeof(saddr)) == SOCKET_ERROR)
error("Client: connect ");
if( recv(fd, buf, sizeof(buf), 0) == SOCKET_ERROR )
error("Client: receiving failure ");
printf("Server echoed1 '%s' \n",buf);
if( send(fd, MESHELO, strlen(MESHELO)+1, 0) == SOCKET_ERROR )
error("Server: sending failure ");
if( recv(fd, buf, sizeof(buf), 0) == SOCKET_ERROR )
error("Client: receiving failure ");
printf("Server echoed2 '%s' \n",buf);
//----
if( send(fd, MESHELP, strlen(MESHELP)+1, 0) == SOCKET_ERROR )
error("Server: sending failure ");
if( recv(fd, buf, sizeof(buf), 0) == SOCKET_ERROR )
error("Client: receiving failure ");
printf("Server echoed3 '%s' \n",buf);
if( send(fd, MESQUIT, strlen(MESQUIT)+1, 0) == SOCKET_ERROR )
error("Server: sending failure ");
if( recv(fd, buf, sizeof(buf), 0) == SOCKET_ERROR )
error("Client: receiving failure ");
printf("Server echoed4 '%s' \n",buf);
//<<<<<
//---
printf("Sending 'Connection Closing' command\n\n");
if (closesocket(fd) == SOCKET_ERROR)
error("Client: closing socket ");
}
|
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Prova con HELO al posto di EHLO...EHLO ha una sintassi diversa che non mi ricordo...
|
|
|
|
|
|
#3 | |
|
Senior Member
Iscritto dal: Aug 2002
Messaggi: 581
|
Quote:
250-DSN 250-8BITMIME 250-PIPELINING 250-HELP 250-AUTH=LOGIN 250-AUTH LOGIN CRAM-MD5 DIGEST-MD5 PLAIN 250-DELIVERBY 300 250 SIZE 29999104 come invece avviene con EHLO. Ecco il risultato con HELO : Codice:
Host name : mail.tin.it IP Address : 62.211.72.20 Server echoed1 '220 vsmtp3.tin.it ESMTP Service (7.0.019) ready ' Server echoed2 '250 vsmtp3.tin.it Missing required domain name in HELO, defaulte d to your IP address [212.161.20.165] ' Server echoed3 '500 command unrecognized equired domain name in HELO, defaulted to your IP address [212.161.20.165] ' Server echoed4 '500 command unrecognized equired domain name in HELO, defaulted to your IP address [212.161.20.165] ' Sending 'Connection Closing' command |
|
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Scrivi HELO seguito da una qualsiasi stringa...
|
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Aug 2002
Messaggi: 581
|
Ho provato cosi' e in effetti qualche cosa e' cambiata
Codice:
#define MESHELO "HELO ciao\r\n\0" Codice:
Host name : mail.tin.it IP Address : 62.211.72.20 Server echoed1 '220 vsmtp4.tin.it ESMTP Service (7.0.019) ready ' Server echoed2 '250 vsmtp4.tin.it SMTP Service (7.0.019) ready ' Server echoed3 '500 command unrecognized vice (7.0.019) ready ' Server echoed4 '500 command unrecognized vice (7.0.019) ready ' Sending 'Connection Closing' command |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 05:07.



















