Ovo je malo veći problem nego što izgleda. .Net framework ti omogućava tonu načina da pošalješ mail ali IMHO nijedan od njih nije dobar za 99% slučajeva.
U 99% slučajeva programer hoće da pošalje mail sa accounta trenutno prijavljenog korisnika, bez ikakvih logina i sl., baš kao da si kliknuo SendTo->Mail u exploreru. Za tu svrhu su napravili MAPI interfejs pre više od 10 godina koji je radio posao i sa Outlookom i sa svim klijentima koji podržavaju/implementiraju MAPI. Medjutim
MAPI nije podržan u .Net-u, što sam nedavno saznao. Iako možeš da PInvokuješ MAPISendMail, on ne sme da se koristi zbog toga što MAPI radi čudne stvari sa memorijom procesa (koja je Managed u .Net slučaju), što dovodi do a/v grešaka i sličnih. Ostale varijante za mailove su apsolutno neprikladne za klijentske aplikacije (WebDAV, CDOEX) ili zahtevaju Outlook čak specifične verzije (Outlook WebServices zahteva Outlook 2007). Sirovi SMTP ne dolazi u obzir zbog credentials-a trenutnog korisnika, otvaranja portova na klijentu i slično.
Jedino rešenje koje vidim da će 100% da radi je da napišem unmanaged program u (C++, Delphi) koji će da radi MAPI u svom procesu, i onda pozivam taj program iz .Net programa. Ako neko ne predloži bolje rešenje napisaću taj programčić i objaviću ga ovde, pošto mi i tako treba za program na kome trenutno radim.
if it walks like a duck and quacks like a duck, it could be a dragon doing a duck
impersonation.