Thanks a lot. In fact I've tried to send string not NULL-terminated and
now Postfix replies me correctly. I would never understand. I'll change
all reply strings in my program (hoping I'm not compromise the
functioning with other mail clients).
Bye.
Il 12/04/2010 12:40, mouss ha scritto:
Emanuele Gallo a écrit :
I don't think that it's the problem. My mail server is developed in C
language and replies that I send to Postfix are strings. As I think you
know, all strings in C are NULL terminated and there's no chance for
create string that aren't NULL terminated.
1- data sent over the network has nothing to do with C, java, or
whatever language. In particular, when you talk SMTP, you must obey SMTP
protocol specs.
2- Even in C, char* does not need to be NULL terminated.
if this isn't clear, try
$ man 2 write
$ man sendto
...
PS. "Unix Network Programming" by W. Richard Stevens is an excellent
reading.
Moreover, as previously
mentioned, my server works well with Mozilla Thunderbird. If
<CR><LF><NULL> were the guilty, neither the first string ("220
myMailServer.localhost SMTP service ready") would arrive.
[snip]