Is there any method of knowing the possiblee SMTP ccommands
an email server (say SENDMAILD) may issue to its remote SMTP server while sending mails.
I have implemented an email server that speaks SMTP. I am able to send mails to remote SMTP servers but I amm unable to receive mails from them. I have implemented the minimal set of SMTP commands like MAIL,HELO,RCPT,DATA,NOOP,RSET,HELP. Please do explain me the reasons for my inability to receive mails from remote mail servers. But do remember that I am able tto send mails to those servers through mine.So pl. exxplain me if there is any possibility to know the probabale SMTP commands a remote mails systemm may issue to my server so that I may know the reasons for my problem.
Thank You.
Who is Participating?
jhanceConnect With a Mentor Commented:
First, you need to be prepared to accept the "500" response which is the server saying, "I don't know that command".  In that case you either try a more basic command or give up.  The ones you have listed:


are basic and any SMTP mailer should support them.  You can also try the "EHLO" command to see if it support ESMTP.  You should get back a list of supported commands like this:

EHLO Hello joe@localhost [], pleased to meet you
250 HELP

If you have implemented a mailer and can send, that's half the job.  You need to debug the receiver process and see what's going on.  Have you tried sending to yourself manually through a telnet session?  You should also be able to put some debugging output in your code to track where the incoming mail is going wrong.
meyapsAuthor Commented:
I tried by telnetting to my server which was listening at the well defined port 25 for connections,it just worked well but when I tried from a remote machine having sendmail deamon , my server did not respond. Moreover the mail that I tried  to send using the senddmail deamon were queued up in /var/spool/mail/mqueue directory.
I don't really understand your last comment.  Did you diagnose the problem or are you still having trouble?  I've written several SMTP server utilities and will be glad to stay with you on this.
meyapsAuthor Commented:
Hi Jhance, I am still havinng the trouble. My server is still unable
tto receive mails. I tried this by sending a mail from an ESMTP server to mine. Since my server allows only SMTP commands it responded to ESMTP EHLO command by sending a 500 reply. But nothing happened after that. Still I am unablle to resolve this problem. But I am able to send mail to that ESMTP server. I did this proggram using C under linux OS. Moreover pl. explain me the procedure by which the mails within a server are delivered. I terminated the sendmail server running in the background, But still I wwas able to send mails. How is thhat happening ?
Moreover what is  the mailer program that iis used in UNIX/LINUX for sending mails . Is it possible to invoke them manually ? If so how ?
If I understand you correctly, your SMTP mailer program (which you are writing in C) will send mail to another SMTP server but it will not receive mail.  Can you try this.  Start your mailer up and then try to connect to it with a telnet window and run the protocol manually like this:

www:~$ telnet 25
Connected to
Escape character is '^]'.
220 ESMTP Sendmail 8.8.6/8.6.9 ready at Tue, 10 Mar 1998 06:09:26 -0500
250 Hello [], pleased to meet you
250 Sender ok
250 Recipient ok
354 Enter mail, end with "." on a line by itself
This is a test
250 GAA01812 Message accepted for delivery
221 closing connection
Connection closed by foreign host.

After you've done this, please post the transcript here.
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.