Look at /etc/syslogd.conf and find out where your mail log is.
Providing that you didn't actually get an error message from the mailx command, the diagnostics should be in the mail log.
This suggests that the mail relay host referred to in the DS line in sendmail.cf is broken or misconfigured in some way. If this has never worked, then perhaps the mail relay host is not listening for SMTP mail or does not know that your server exists.
You should be able to see how much mail you have queued with the mailq command.
Btw. If you get an error message, please post the whole error message (blotting anything confidential like email addresses or machine names with Xs).
Does it give you an IP address? Is it the right IP address?
If you are using DNS, is your DNS server down?
If you are using /etc/hosts , has the line containing def.abc.com gone missing or got corrupted?
Can you connect with telnet to port 25 by using the IP address not the name?
Did the authorisation/authentication process change on the receiving end? "Connection refused" indicates permission problems, be it wrong ports or malauthorisation/-authentication.