#include "__POP3_DELE.h" #include "POP3Server.h" namespace mail { // RFC 1939 3: DELE only marks a message deleted for this session - // the mark takes effect (actual unlink) only at QUIT, and RSET below // can undo it beforehand. int __POP3_DELE::processCommand(coreutils::ZString request, POP3Session &session, POP3Server &server) { if (!session.authenticated) { session.out << "-ERR Not authenticated" << CRLF; return 1; } request.skipWhitespace(); int msgNum = request.getTokenExclude(" ").asInteger(); if (!pop3FindMessage(session, msgNum)) { session.out << "-ERR No such message" << CRLF; return 1; } session.deletedMarks.insert(msgNum); session.out << "+OK Message " << msgNum << " deleted" << CRLF; return 1; } }