How do I implement my own - Client SMTP eMail Connection...
Here I go again with some stupid questions...
My network knowledge is low, so please take it easy on me this time
Telnet and Hotmail:
Can I telnet to hotmail?
Can I simply use port 25?
Must I use http://www.hotmail.com or is myname@hotmail.com better?
Why doesn''t it still work?
SMTP client connection:
I already got the gethostbyname() and connect()
How do I send the subject and date?
Do I need to recv after a connect?
Do I need to recv() after each line send()?
I only want to send a single HTML page.
Is "Content-Type: text/html\r\n" all you need in the header?
Do I need an extra "\n" after the header before sending the HTML page?
It''s a lot of questions, so thanks already for reading them
- Bas
Thanks Dak!
After doing some more research, I came up with the folowing implementation:
The problem is I get: "Can not connect to specified host."
There''s something wrong with my connect. But what? I checked the IP-address, and it''s hotmail!
Is it possible to connect to hotmail? Or must I use my provider orso?
Help very much respected
After doing some more research, I came up with the folowing implementation:
//----------------------------------------------------------------------------#include <stdio.h>#include <string.h>#include <windows.h>#include <winsock.h>//----------------------------------------------------------------------------#define SMTP_PORT 25#define MAXBUF 4096//---------------------------------------------------------------------------void send_smtpcmd(SOCKET sock, char *szCmd){ char szReply[MAXBUF]; int iLen; send(sock, szCmd, strlen(szCmd), 0); iLen = recv(sock, szReply, MAXBUF, 0); szReply[iLen] = 0; printf(szReply);}//---------------------------------------------------------------------------main(){ WORD wVersionRequested = MAKEWORD( 2, 0 ); WSADATA wsa; if (WSAStartup(wVersionRequested , &wsa)!=0) { printf("Winsock Initialization failed.\n"); return -1; } SOCKET sock; if ((sock=socket(AF_INET,SOCK_STREAM,0))==INVALID_SOCKET) { printf("Can not create socket.\n"); return -1; } char *szSMTPServer = "www.hotmail.com"; struct hostent *hs; if ((hs=gethostbyname(szSMTPServer))==NULL) { printf("Can not resolve specified host.\n"); return -1; } SOCKADDR_IN addr; addr.sin_family = AF_INET; addr.sin_port = htons(SMTP_PORT); memcpy((void *)&addr.sin_addr.s_addr, hs->h_addr, hs->h_length); if (connect(sock,(LPSOCKADDR)&addr,sizeof(addr))==SOCKET_ERROR) { printf("Can not connect to specified host.\n"); return -1; } char packetbuf[MAXBUF]; recv(sock, packetbuf, MAXBUF, 0); printf("BANNER: %s\n", packetbuf); send_smtpcmd(sock, "MAIL FROM: <me@domain.web>\r\n"); send_smtpcmd(sock, "RCPT TO: <baskuenen@hotmail.com>\r\n"); //can be repeated send_smtpcmd(sock, "DATA\r\n"); send_smtpcmd(sock, "Subject: Test HTML mail.\r\n" "MIME-Version: 1.0\r\n" "Content-Type: text/html; \r\n" " charset=\"iso-8859-1\"\r\n" "Content-Transfer-Encoding: quoted-printable\r\n" ".\r\n"); closesocket(sock); printf("Done.\n"); return 0;}//------------------------------------------------------------------------------
The problem is I get: "Can not connect to specified host."
There''s something wrong with my connect. But what? I checked the IP-address, and it''s hotmail!
Is it possible to connect to hotmail? Or must I use my provider orso?
Help very much respected
Oke - found it - must use my provider address, but I really don't understand why?
I still dont know how to make good headers (Subject: Content-Type: ...etc...)
Does anyone know a good link to any lists with possible commands for this?
Sorry for my stupid questions on this topic I myself must still get used to asking such stupid stupid stupid questions (normally they are only stupid )
...He can code a SMTP client, but doesn't know how to connect to the SMTP server...this must be a laugh for some of you...
Edited by - baskuenen on July 24, 2000 11:26:21 PM
I still dont know how to make good headers (Subject: Content-Type: ...etc...)
Does anyone know a good link to any lists with possible commands for this?
Sorry for my stupid questions on this topic I myself must still get used to asking such stupid stupid stupid questions (normally they are only stupid )
...He can code a SMTP client, but doesn't know how to connect to the SMTP server...this must be a laugh for some of you...
Edited by - baskuenen on July 24, 2000 11:26:21 PM
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement