К сожалению, короткий ответ: вы не можете. MAPI несовместим с управляемыми языками (.Net, Java и т. Д.), Поскольку сборка мусора разрушает управление внутренней памятью. Единственный вариант - порождать внешний процесс, используя неуправляемый язык (например, C ++, VB6) и используя межпроцессные вызовы для любых функций MAPI. Вы можете сделать это с помощью, например, COM EXE. Это имеет тот недостаток, что межпроцессные вызовы требуют много времени и, как следствие, имеют тенденцию быть медленными; но это может быть ваш единственный вариант.