#include "tnplib.h"
#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std;
inline void D(const char *errormessage) {
#ifdef _DEBUG
cerr << errormessage << endl;
#endif
}
int SendEmailSteps(SOCKET s, const char* message) {
const int bufsize=256;
char buffer[bufsize];
TCPRecvLine(s, buffer, bufsize);
D(buffer);
if (buffer[0]!='2') return(-2);
TCPSendLine(s, "HELO MyComputerName.bradley.edu\r\n");
TCPRecvLine(s, buffer, bufsize);
D(buffer);
if (buffer[0]!='2') return(-3);
TCPSendLine(s, "MAIL FROM: BuNetID1@bradley.edu\r\n");
TCPRecvLine(s, buffer, bufsize);
D(buffer);
if (buffer[0]!='2') return(-4);
TCPSendLine(s, "RCPT TO: BuNetID2@bradley.edu\r\n");
TCPRecvLine(s, buffer, bufsize);
D(buffer);
if (buffer[0]!='2') return(-5);
TCPSendLine(s, "DATA\r\n");
TCPRecvLine(s, buffer, bufsize);
D(buffer);
if (buffer[0]!='3') return(-6);
TCPSendLine(s, message);
TCPSendLine(s, "\n.\r\n");
TCPRecvLine(s, buffer, bufsize);
D(buffer);
if (buffer[0]!='2') return(-7);
return(0);
}
int SendEmail(const char* message) {
SOCKET s;
s=TCPStartClient("webmail.bradley.edu", "25");
if (!isValidSocket(s)) {
D("Cannot open connection to the SMTP server");
return(-1);
}
int status=SendEmailSteps(s, message);
TCPSendLine(s, "QUIT\r\n");
TCPRecvDumpLine(s);
TCPPrepClose(s);
TCPStopClient(s);
return(status);
}
int main()
{
SocketLibStart();
int st = SendEmail("This laptop is still alive.\nWill report again soon.\r\n");
if ( st<0) {
cerr << "Problem: " << st<< endl;
} else {
cerr << "Message sent" << endl;
}
SocketLibEnd();
return(0);
}