Click here to Skip to main content
15,895,462 members
Home / Discussions / C / C++ / MFC
   

C / C++ / MFC

 
GeneralRe: Problem in using 'GlobalMemoryStatusEx' Pin
SelvaKr19-Feb-07 17:11
SelvaKr19-Feb-07 17:11 
Questionproblem with IWbemClassObject::GetMethod Pin
Manasi D19-Feb-07 16:03
Manasi D19-Feb-07 16:03 
AnswerRe: problem with IWbemClassObject::GetMethod Pin
redr0cky25-Jul-10 22:10
redr0cky25-Jul-10 22:10 
AnswerRe: Do the Visual C++6 and MFC can develope application to install on.. Pin
David Crow19-Feb-07 16:41
David Crow19-Feb-07 16:41 
QuestionSEH exception translation bug Pin
jfranzoy19-Feb-07 14:14
jfranzoy19-Feb-07 14:14 
AnswerRe: SEH exception translation bug Pin
Mark Salsbery20-Feb-07 6:42
Mark Salsbery20-Feb-07 6:42 
QuestionC++ Email project help Pin
arbster119-Feb-07 12:50
arbster119-Feb-07 12:50 
AnswerRe: C++ Email project help Pin
David Crow21-Feb-07 8:21
David Crow21-Feb-07 8:21 
Several issues:

int MailIt (char *mailserver, char *emailto, char *emailfrom,char *emailsubject, char *emailmessage)
{
    SOCKET sockfd;
    WSADATA wsaData;
 
    int bytes_sent; /* Sock FD */
    int err;
    struct hostent *host; /* info from gethostbyname */
    struct sockaddr_in dest_addr; /* Host Address */
    char line[100000];
 
    char Rec_Buf[301];
    if (WSAStartup(0x202,&wsaData) == SOCKET_ERROR)
    {
        WSACleanup();
        return -1;
    }
 
    if ( (host=gethostbyname(mailserver)) == NULL)
    {
        perror("gethostbyname");
        return 1;
    }
 
    memset(&dest_addr,0,sizeof(dest_addr));
    memcpy(&(dest_addr.sin_addr),host->h_addr,host->h_length);
 
    /* Prepare dest_addr */
    dest_addr.sin_family= host->h_addrtype; /* AF_INET from gethostbyname */
    dest_addr.sin_port= htons(25); /* PORT defined above */
 
    /* Get socket */
    if ((sockfd=socket(AF_INET,SOCK_STREAM,0)) < 0)
    {
        perror("socket");
        return 1;
    }
 
    /* Connect !*/
    if (connect(sockfd, (struct sockaddr *)&dest_addr,sizeof(dest_addr)) == -1)
    {
        perror("connect");
        return 1;
    }
 
    strcpy(line,"HELO me.somepalace.com\r\n");
    bytes_sent=send(sockfd,line,strlen(line),0);
    err=recv(sockfd,Rec_Buf,sizeof(Rec_Buf),0);
    Rec_Buf[err] = '\0';
 
    strcpy(line,"MAIL FROM: <");
    strncat(line,emailfrom,strlen(emailfrom));
    strncat(line,">\r\n",3);
    bytes_sent=send(sockfd,line,strlen(line),0);
    err=recv(sockfd,Rec_Buf,sizeof(Rec_Buf),0);
    Rec_Buf[err] = '\0';
 
    strcpy(line,"RCPT TO: <");
    strncat(line,emailto,strlen(emailto));
    strncat(line,">\r\n",3);
    bytes_sent=send(sockfd,line,strlen(line),0);
    err=recv(sockfd,Rec_Buf,sizeof(Rec_Buf),0);
    Rec_Buf[err] = '\0';
 
    strcpy(line,"DATA\r\n");
    bytes_sent=send(sockfd,line,strlen(line),0);
    err=recv(sockfd,Rec_Buf,sizeof(Rec_Buf),0);
    Rec_Buf[err] = '\0';
 
    strcpy(line,"To: ");
    strcat(line,emailto);
    strcat(line,"\r\n");
    strcat(line,"From: ");
    strcat(line,emailfrom);
    strcat(line,"\r\n");
    strcat(line,"Subject: ");
    strcat(line,emailsubject);
    strcat(line,"\r\n\r\n");
    strcat(line,emailmessage);
    strcat(line,"\r\n.\r\n");
    bytes_sent=send(sockfd,line,strlen(line),0);
    err=recv(sockfd,Rec_Buf,sizeof(Rec_Buf),0);
    Rec_Buf[err] = '\0';
 
    strcpy(line,"QUIT\r\n");
    bytes_sent=send(sockfd,line,strlen(line),0);
    err=recv(sockfd,Rec_Buf,sizeof(Rec_Buf),0);
    Rec_Buf[err] = '\0';
 
    closesocket(sockfd);
    WSACleanup();
 
    return 0;
}
No calls to Sleep() are necessary. CRLF should both be sent, not just LF. The initial call to recv() is not necessary. After the subject, an extra CRLF pair is required. The five variables of MailIt() should be made constant so that they are not accidently messed with.




"Approved Workmen Are Not Ashamed" - 2 Timothy 2:15

"Judge not by the eye but by the heart." - Native American Proverb


QuestionMFC Force Painting Pin
Bram van Kampen19-Feb-07 12:49
Bram van Kampen19-Feb-07 12:49 
AnswerRe: MFC Force Painting [modified] Pin
Mark Salsbery19-Feb-07 13:06
Mark Salsbery19-Feb-07 13:06 
GeneralRe: MFC Force Painting Pin
Bram van Kampen19-Feb-07 13:46
Bram van Kampen19-Feb-07 13:46 
GeneralRe: MFC Force Painting Pin
Mark Salsbery19-Feb-07 13:53
Mark Salsbery19-Feb-07 13:53 
GeneralRe: MFC Force Painting [modified] Pin
Bram van Kampen19-Feb-07 15:16
Bram van Kampen19-Feb-07 15:16 
GeneralRe: MFC Force Painting Pin
PJ Arends19-Feb-07 15:51
professionalPJ Arends19-Feb-07 15:51 
GeneralRe: MFC Force Painting Pin
Bram van Kampen19-Feb-07 16:04
Bram van Kampen19-Feb-07 16:04 
GeneralRe: MFC Force Painting Pin
Mark Salsbery20-Feb-07 5:21
Mark Salsbery20-Feb-07 5:21 
GeneralRe: MFC Force Painting Pin
Bram van Kampen20-Feb-07 13:23
Bram van Kampen20-Feb-07 13:23 
GeneralRe: MFC Force Painting Pin
Mark Salsbery20-Feb-07 13:30
Mark Salsbery20-Feb-07 13:30 
GeneralRe: MFC Force Painting Pin
Mark Salsbery20-Feb-07 5:41
Mark Salsbery20-Feb-07 5:41 
GeneralRe: MFC Force Painting Pin
Bram van Kampen20-Feb-07 12:14
Bram van Kampen20-Feb-07 12:14 
GeneralRe: MFC Force Painting Pin
Mark Salsbery20-Feb-07 12:31
Mark Salsbery20-Feb-07 12:31 
GeneralRe: MFC Force Painting [modified] Pin
Mark Salsbery20-Feb-07 14:06
Mark Salsbery20-Feb-07 14:06 
GeneralRe: MFC Force Painting Pin
Bram van Kampen21-Feb-07 14:11
Bram van Kampen21-Feb-07 14:11 
GeneralRe: MFC Force Painting Pin
Mark Salsbery21-Feb-07 14:23
Mark Salsbery21-Feb-07 14:23 
GeneralRe: MFC Force Painting Pin
Bram van Kampen20-Feb-07 13:33
Bram van Kampen20-Feb-07 13:33 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.