based on reworked servercore.

This commit is contained in:
barant committed 2020-02-29 19:25:13 -08:00
1 parent 50eb707f10
commit db3e82a18e
1698 files changed
+41157 -797

No files matched your search

+34
View File
@@ -0,0 +1,34 @@
# include "__SMTP_RCPT.h"
# include "SMTPServer.h"
namespace mail {
int __SMTP_RCPT::processCommand(coreutils::PString request, SMTPSession &session, SMTPServer &server, std::stringstream &data) {
if((session.state == MAIL) || (session.state == RCPT)) {
std::string recipient;
if(request.ifNext("RCPT TO:")) {
request.skipWhitespace();
if(request.ifNext("<")) {
recipient = request.getTokenExclude(">");
if(server.mailFileSystem.ifMailBoxExists(recipient)) {
session.recipientList.push_back(recipient);
data << "250 OK" << CRLF;
session.state = RCPT;
} else if(session.relay) {
session.recipientList.push_back(recipient);
data << "250 OK" << CRLF;
session.state = RCPT;
} else
data << "550 Mailbox does not exist" << CRLF;
} else
data << "550 Usage: RCPT TO:<email-address>" << CRLF;
} else
data << "550 Usage: RCPT TO:<email-address>" << CRLF;
} else
data << "503 Please use MAIL first" << CRLF;
return 1;
}
}