Re: отправка писем с аттачем из лвс с kerio
От: netch80 Украина http://netch80.dreamwidth.org/
Дата: 15.08.07 22:49
Оценка:
Здравствуйте, Black_Moon, Вы писали:

B_M>Написал smtp клиента


Код некорректен, не полностью описан (пропущены существенные моменты), и зверски неоптимален.
_recv() читает просто приходящий кусок или строку? Если первое, он некорректен. Если второе, он или резко неоптимален (читает по байту), или использует секретный буфер, недокументированный в показанном коде.
Зачем сокету выставлялся nonblocking, если это не используется? Если используется, где задание таймаутов?
Почему размер буфера для одной команды равен MESSAGE_SIZE? При чём тут message?
Зачем столько раз повторять код отсылки заголовков по одному?
Зачем вызывать strlen сразу после sprintf_s?
Добавляет ли encode64() нужные \r\n?
Чему равен BLOCK_SIZE? Значение выше 57 — ошибка. И файл лучше читать через stdio, чтобы не делать лишние сисколлы.
Зачем реагировать на ошибки от QUIT?

Итого. За код — твёрдая двойка. Копать дальше не хочу. "Ваши крокодилы — вы и спасайте"
The God is real, unless declared integer.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.