Al di là del fatto che il codice va postato tra tag [code] ... [/code] (cosa che ho provveduto a correggere), mi sa che non hai bene in mente come funziona la posta elettronica, da cui il fraintendimento.

SMTP si occupa di consegnare i messaggi; quanto tu giri un messaggio al tuo server SMTP, questo scopre qual è l'SMTP a cui va recapitato (andando a vedere il record DNS MX) e lo consegna a questo server, che poi ci farà quel che gli pare (se è un messaggio valido per un destinatario esistente tipicamente lo memorizzerà in qualche maniera in modo che il destinatario vi possa accedere).
Da questo punto di vista, inviare un messaggio via SMTP è come imbucare una lettera in una cassetta delle lettere: non ne viene lasciata una copia nella tua posta inviata, il postino si limita a recapitarla.

In effetti, non è neanche detto che il mittente abbia una casella di posta elettronica: esattamente come puoi scrivere su una lettera un mittente falso (o comunque diverso dal tuo recapito preciso - che so, ufficio tal dei tali invece di Mario Rossi c/o ufficio tal dei tali), una email che mandi attraverso un server SMTP può avere un mittente finto (o un indirizzo puramente "di rappresentanza", a cui non corrisponde alcuna casella postale), e in generale per inviare mail via SMTP non serve autenticazione (come non serve autenticazione per imbucare una lettera); per questo e altri motivi, non vale la corrispondenza indirizzo e-mail del mittente <=> esiste una sua casella postale.

Inoltre, anche se il mittente ha una casella email, non è detto che questa consenta di avere una cartella "posta inviata" sul server; questo accade tipicamente per tutti gli account a cui si accede solo via POP; ovvero, il tuo gestore di posta elettronica ti fornisce solo uno spazio di "buffer" in cui vengono memorizzate le email finché non le recuperi con un client di posta elettronica. In questo caso, la "posta inviata" è un file locale sul PC da cui si accede alla email gestito dall'Outlook o Thunderbird del caso, e quindi ovviamente in generale non ci puoi fare niente (salvo passando per il programma di posta in questione).

Rimane l'ultimo caso, che è sostanzialmente l'unico in cui si potrebbe fare quello che chiedi, ovvero il caso in cui:
  • al mittente corrisponde effettivamente un account di posta elettronica di qualche genere;
  • l'account in questione consente, oltre alla banale memorizzazione della posta in ingresso con accesso via POP, anche la possibilità di avere altre cartelle, tra cui la posta inviata;
  • l'account in questione consente di accedere a tali informazioni via IMAP o altri protocolli pubblici (alcuni provider consentono solo l'accesso via interfaccia web)


In questo caso, quello che devi fare è:
  • inviare la mail via SMTP;
  • entrare via IMAP nella casella di posta del mittente (nota che server SMTP e IMAP sono tipicamente diversi) e aggiungere il messaggio alla cartella della posta inviata

ovvero sostanzialmente quello che fa qualunque client di posta elettronica ogni volta che si invia un messaggio tramite un account IMAP.
Ribadisco che i due processi sono completamente indipendenti - via SMTP invii il messaggio al destinatario, via IMAP lo memorizzi nella posta inviata (sul server) della casella.

Per lavorare via IMAP non ci sono strumenti inclusi nel .NET Framework, ma con una rapida ricerca via Google trovi diversi componenti di terze parti (diversi anche opensource) adatti allo scopo.