I had an interesting encounter this past weekend with rebuilding sendmail on freebsd. See if you know this one…
You setup Sendmail as an MTA and configured it with a new .cf file. You can send email just fine. As root you get email for the local system just fine. You test your new .cf file by telnet via smtp port on the local machine, primarily to see the configuration settings confSMTP_LOGIN_MSG and greet_pause in action. Everything checks out. When you try to send email from a pop or imap client, it says that the communication to your mail server was interrupted. Telnet to the smtp port (from remote host) gives an automatic disconnect. You can recieve email on the client but not send email. You run an nmap on the localhost and it reveals the smtp port and your configured pop and imap ports are open but an nmap from a remote host reveals a closed smtp port. A ps ax | grep sendmail reveals a running sendmail process.
ANSWER: After a reboot, I did not start the MTA process for sendmail. For some reason I overlooked the fact of not including: sendmail_enable=”YES” in my /etc/rc.conf file. I started the MTA originally with the /usr/sbin/sendmail -bd -q1h command which is why it worked initially, however in the process of building my sendmail mc stuff, I was also compiling other stuff which required a reboot (new kernel). I simply forgot to add the rc.conf startup of sendmail to enable it as an MTA.