Я нашел эту программу электронной почты, и я не могу ее запустить. Я использую 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
}
Пожалуйста, попытайтесь понять сообщение об ошибке. Это очень много, по крайней мере, для меня. И это не C++. – Mahesh
Что это значит, это isnt C++ – kmtompkins
Это тоже не лучшее форматирование, которое я когда-либо видел :(Сообщение об ошибке для меня довольно понятно. Компилятор C++ не любит fopen() и стонет о нем. –