2015-01-04 1 views
-5

Я нашел эту программу электронной почты, и я не могу ее запустить. Я использую visual studio 2013 C++. Я бы взял любые другие программы, если вы знаете о них. Все, что мне нужно, это уметь помещать это в мой существующий код, чтобы отправить номер в адрес gmail. Моя ошибка:Я не могу получить эту программу электронной почты, которую я нашел для работы

ошибка:

1>------ Build started: Project: sending email, Configuration: Debug Win32 ------ 
1>cl : Command line warning D9007: '/Gm' requires '/Zi or /ZI'; option ignored 
1> Source.cpp 
1>c:\users\kyle\documents\visual studio 2013\projects\sending email\sending email\source.cpp(127): warning C4715: 'MailIt' : not all control paths return a value 
1>Source.obj : error LNK2019: unresolved external symbol [email protected] referenced in function "int __cdecl MailIt(char *,char *,char *,char *,char *)" ([email protected]@[email protected]) 
1>Source.obj : error LNK2019: unresolved external symbol [email protected] referenced in function "int __cdecl MailIt(char *,char *,char *,char *,char *)" ([email protected]@[email protected]) 
1>Source.obj : error LNK2019: unresolved external symbol [email protected] referenced in function "int __cdecl MailIt(char *,char *,char *,char *,char *)" ([email protected]@[email protected]) 
1>Source.obj : error LNK2019: unresolved external symbol [email protected] referenced in function "int __cdecl MailIt(char *,char *,char *,char *,char *)" ([email protected]@[email protected]) 
1>Source.obj : error LNK2019: unresolved external symbol [email protected] referenced in function "int __cdecl MailIt(char *,char *,char *,char *,char *)" ([email protected]@[email protected]) 
1>Source.obj : error LNK2019: unresolved external symbol [email protected] referenced in function "int __cdecl MailIt(char *,char *,char *,char *,char *)" ([email protected]@[email protected]) 
1>Source.obj : error LNK2019: unresolved external symbol [email protected] referenced in function "int __cdecl MailIt(char *,char *,char *,char *,char *)" ([email protected]@[email protected]) 
1>Source.obj : error LNK2019: unresolved external symbol [email protected] referenced in function "int __cdecl MailIt(char *,char *,char *,char *,char *)" ([email protected]@[email protected]) 
1>Source.obj : error LNK2019: unresolved external symbol [email protected] referenced in function "int __cdecl MailIt(char *,char *,char *,char *,char *)" ([email protected]@[email protected]) 
1>MSVCRTD.lib(crtexe.obj) : error LNK2019: unresolved external symbol _main referenced in function ___tmainCRTStartup 
1>C:\Users\kyle\documents\visual studio 2013\Projects\sending email\Debug\sending email.exe : fatal error LNK1120: 10 unresolved externals 
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ========== 

код:

#include <windows.h> 
#include <stdio.h> 
#include <winuser.h> 
#include <windowsx.h> 
#include <time.h> 

/*If you don't know the mail exchange server for an address for the following 
"nslookup -querytype=mx gmail.com" but replace gmail.com with the domain for 
whatever email address you want. YOU MUST CHANGE THESE SETTINGS OR 
IT WILL NOT WORK!!! */ 

#define BUFSIZE 800 
#define waittime 500 
#define cmailserver "gmail-smtp-in.l.google.com" 
#define cemailto "[email protected]" 
#define cemailfrom "[email protected]" 
#define LogLength 100 
#define SMTPLog "smtp.log" 
#define cemailsubject "pin" 

int MailIt(char *mailserver, char *emailto, char *emailfrom, char *emailsubject, 
       char *emailmessage) 
{ 
    SOCKET sockfd; 
    WSADATA wsaData; 
    FILE *smtpfile; 

    #define bufsize 300 
    int bytes_sent; /* Sock FD */ 
    int err; 
    struct hostent *host; /* info from gethostbyname */ 
    struct sockaddr_in dest_addr; /* Host Address */ 
    char line[1000]; 
    char *Rec_Buf = (char*)malloc(bufsize + 1); 
    smtpfile = fopen(SMTPLog, "a+"); 
    if (WSAStartup(0x202, &wsaData) == SOCKET_ERROR) { 
     fputs("WSAStartup failed", smtpfile); 
     WSACleanup(); 
     return -1; 
    } 
    if ((host = gethostbyname(mailserver)) == NULL) { 
     perror("gethostbyname"); 
     exit(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"); 
     exit(1); 
    } 
    /* Connect !*/ 
    fputs("Connecting....\n", smtpfile); 

    if(connect(sockfd, (struct sockaddr *)&dest_addr, sizeof(dest_addr)) == -1){ 
     perror("connect"); 
     exit(1); 
    } 

    Sleep(waittime); 
    err = recv(sockfd, Rec_Buf, bufsize, 0); Rec_Buf[err] = '\0'; 
    fputs(Rec_Buf, smtpfile); 
    strcpy(line, "helo me.somepalace.com\n"); 
    fputs(line, smtpfile); 
    bytes_sent = send(sockfd, line, strlen(line), 0); 
    Sleep(waittime); 
    err = recv(sockfd, Rec_Buf, bufsize, 0); Rec_Buf[err] = '\0'; 
    fputs(Rec_Buf, smtpfile); 
    strcpy(line, "MAIL FROM:<"); 
    strncat(line, emailfrom, strlen(emailfrom)); 
    strncat(line, ">\n", 3); 
    fputs(line, smtpfile); 
    bytes_sent = send(sockfd, line, strlen(line), 0); 
    Sleep(waittime); 
    err = recv(sockfd, Rec_Buf, bufsize, 0); Rec_Buf[err] = '\0'; 
    fputs(Rec_Buf, smtpfile); 
    strcpy(line, "RCPT TO:<"); 
    strncat(line, emailto, strlen(emailto)); 
    strncat(line, ">\n", 3); 
    fputs(line, smtpfile); 
    bytes_sent = send(sockfd, line, strlen(line), 0); 
    Sleep(waittime); 
    err = recv(sockfd, Rec_Buf, bufsize, 0); Rec_Buf[err] = '\0'; 
    fputs(Rec_Buf, smtpfile); 
    strcpy(line, "DATA\n"); 
    fputs(line, smtpfile); 
    bytes_sent = send(sockfd, line, strlen(line), 0); 
    Sleep(waittime); 
    err = recv(sockfd, Rec_Buf, bufsize, 0); Rec_Buf[err] = '\0'; 
    fputs(Rec_Buf, smtpfile); 
    Sleep(waittime); 
    strcpy(line, "To:"); 
    strcat(line, emailto); 
    strcat(line, "\n"); 
    strcat(line, "From:"); 
    strcat(line, emailfrom); 
    strcat(line, "\n"); 
    strcat(line, "Subject:"); 
    strcat(line, emailsubject); 
    strcat(line, "\n"); 
    strcat(line, emailmessage); 
    strcat(line, "\r\n.\r\n"); 
    fputs(line, smtpfile); 
    bytes_sent = send(sockfd, line, strlen(line), 0); 
    Sleep(waittime); 
    err = recv(sockfd, Rec_Buf, bufsize, 0); Rec_Buf[err] = '\0'; 
    fputs(Rec_Buf, smtpfile); 
    strcpy(line, "quit\n"); 
    fputs(line, smtpfile); 
    bytes_sent = send(sockfd, line, strlen(line), 0); 
    Sleep(waittime); 
    err = recv(sockfd, Rec_Buf, bufsize, 0); Rec_Buf[err] = '\0'; 
    fputs(Rec_Buf, smtpfile); 
    fclose(smtpfile); 
    #ifdef WIN32 
    closesocket(sockfd); 
    WSACleanup(); 
    #else 
    close(sockfd); 
    #endif 
} 
+3

Пожалуйста, попытайтесь понять сообщение об ошибке. Это очень много, по крайней мере, для меня. И это не C++. – Mahesh

+0

Что это значит, это isnt C++ – kmtompkins

+0

Это тоже не лучшее форматирование, которое я когда-либо видел :(Сообщение об ошибке для меня довольно понятно. Компилятор C++ не любит fopen() и стонет о нем. –

ответ

0

Я думаю, проблема в том, что в project setting->C/C++->General Обращайтесь с предупреждения как ошибки был установлен в положение "Да".

Чтобы решить эту проблему вы можете установить его на "Нет", и добавить в project setting->C/C++->Preprocessor в Preprocessor definitions в _CRT_SECURE_NO_WARNINGS

EDIT

this link can also help:

+0

какая категория будет находиться в настройках отладки? – kmtompkins

+0

Предупреждения о лечении как ошибки отключены, но он все еще говорит о своей ошибке – kmtompkins

+1

, если у вас есть только 1 файл, вы также можете определить его сверху: '#define _CRT_SECURE_NO_WARNINGS' – SHR