Appendix C
Customizing SMTP and POP Protocol Strings
MDaemon contains a mechanism for altering the SMTP and POP protocol strings that it uses. You can provide custom strings for most of the SMTP and POP dialog. Each string that MDaemon uses has a unique number and a specific default value. These defaults will be used unless a custom string is found in the [Custom-SMTP] or [Custom-POP] sections in the MDAEMON.INI file.
When creating custom SMTP strings, pay close attention to the following:
- Some SMTP default strings start with a blank space character (see chart below). Any replacement for these strings must also start with a blank space character. Failure to do so will result in server failure!
- You must enclose the custom string in quotation marks when you place it into the mdaemon.ini file. Failure to do so will result in server failure!
- Some strings contain macros such as "%s" or "%d". These macros are dynamically filled in with data when the string is loaded and used. Custom strings are not required to use these macros. However, a custom string may duplicate these macros provided they are placed in the same sequence as they appear in the default string. Failure to place macros in the same sequence within a custom string will result in instant server failure!
When creating custom POP strings, pay close attention to the following:
- All POP default strings start with either "+OK" or "-ERR" (see chart below). Any replacement for these strings must also start with "+OK" or "-ERR". Failure to properly use "+OK" or "-ERR" text at the start of a custom string will result in server failure!
- Some strings contain macros such as "%s" or "%d". These macros are dynamically filled in with data when the string is loaded and used. Custom strings are not required to use these macros. However, a custom string may duplicate these macros provided they are placed in the same sequence as they appear in the default string. Failure to place macros in the same sequence within a custom string will result in instant server failure!
Here is a list of the unique numbers and default string values used by MDaemon. Only the following strings can be changed. Attempting to change a string that is not listed here will result in server failure!
SMTP STRING CODES
7000="%s ESMTP service ready [%d]"
7002="%s Hello %s, pleased to meet you"
7004="<%s>, Sender ok"
7062="<%s>, Sender ok (alias for %s)"
7006="<%s>, Recipient ok"
7008="<%s>, Recipient ok (alias for %s)"
7010="Enter mail, end with <CRLF>.<CRLF>"
7011="See ya in cyberspace"
7012="What? I don't understand that."
7013="Ok, message saved"
7014="%s is not a valid maildrop. Please check the address and try again."
7015="Sorry, try later. Can't create temporary mail file. :("
7016="RSET? Well, OK."
7017="Why is there an NOOP instruction?"
7018="Yeah, I know that one. He (or she) is %s <%s>."
7019="<%s>? Never heard of 'em."
7020="<%s>? There's more than one possible match to that query on this server".
7021="Yeah, there's a list here by that name. Mail to <%s>."
7022="<%s>? There's no mailing list here by that name."
7023="<%s>? There's more than one possible match to that query on this server."
7024="Hey! I don't let remote systems TURN on me."
7025="Help system currently inactive."
7033="%s Hello %s, did you know your name is really %s?"
7034="Unexpected command or sequence of commands."
7037="Sorry, SMTP server too busy right now (%d). Try again later."
7038="SMTP session successful, %ld bytes transferred!"
7039="SMTP session abnormally terminated, %ld bytes transferred!"
7041="Sending <%s> to [%s]"
7042="Connection timed out!"
7043="Spooling mail to default gateway"
7044="This server does not accept routed mail"
7046="Node <%s> does not store mail here"
7047="Your IP address <%s> does not have access to node <%s>" 7048="No messages waiting for node <%s>"
7050="<%d> pending messages for node <%s> started"
7051="Unable to queue message for node <%s>: Internal processing error"
7052="This server configured to NOT honor EHLO at present."
7053="Sorry, <%s> is not allowed access from your location"
7055="<%s>, Sender unknown"
You can see from the table that the initial SMTP greeting string is coded 7000. Therefore to create a custom SMTP greeting string place the following entry into the MDAEMON.INI file:
[Custom-SMTP] 7000=«Alt-N Technologies ESMTP server»Note that you must enclose the custom string in quotations. Note also that this example string does not use any %s macros like the default one does. This is fine.
POP STRING CODES
7200="+OK %s POP service ready"
7201="+OK %s... Recipient ok"
7235="-ERR Access denied. Contact postmaster@%s for more information."
7234="-ERR sorry, POP server too busy right now. Try again later."
7202="-ERR sorry, there's no mailbox for %s here"
7203="-ERR that command is valid only in the AUTHORIZATION state!"
7204="-ERR that command is valid only in the TRANSACTION state!"
7205="-ERR that command is valid only in the UPDATE state!"
7233="-ERR maildrop already locked"
7206="+OK %s... see ya in cyberspace"
7207="-ERR access denied"
7208="+OK %s's mailbox has %d total messages (%ld octets)."
7210="+OK %d messages (%ld octets)"
7219="-ERR no such message"
7220="-ERR no such message, only messages 1 thru %d are present in your inbox"
7222="+OK %s %s POP Server signing off (mailbox empty)"
7223="+OK %s %s POP Server signing off (%d messages left)"
7214="-ERR unknown POP command!"
7213="+OK message %d deleted"
7224="-ERR message %d already marked for deletion"
7216="Sending TOP of message %d (unbuffered operation…)"
7241="Sending <%s> to [%s]"
7242="Connection timed out!"
7243="Transmission Complete <%s>"
7247="Message %d (%ld bytes) exceeds max message size limit of %ld bytes"
7248="Collecting Message %d (%ld bytes) would exceed account's max disk space limit of %ld bytes"
7249="Collecting Message %d would exceed account's max stored message limit of %ld"
7237="POP session complete, %ld bytes transferred!"
7238="POP session timed out, %ld bytes transferred!"
