AB de Villiers will take over the captaincy.
Du Plessis suffered a lower back injury in a one-day international against Bangladesh in October and opted to have surgery on a troublesome shoulder during his recovery period.
Team manager and doctor Mohammed Moosajee said Du Plessis had been on track to play against Zimbabwe but suffered a respiratory tract infection which set him back.
"We are hopeful he will recover in time to lead the team for the first Test match against India, starting in Cape Town on January 5," said Moosajee.