You should be familiar with the MAPI subsystem's architecture, the C++ language, and with writing dynamic-link libraries (DLLs) for the various Windows platforms before developing a transport provider.
For information about implementation of features necessary for TNEF and remote transport providers, see Developing a TNEF-Enabled Transport Provider and Developing a Remote Transport Provider.