[Ajuda]Problema de exception

Olá pessoal,

Estou com um probleminha, fiz um programinha que envia emails e ele funciona entre partes.
Quando eu inicio ele, e coloco no form as informaçoes e clico pra enviar, ele funciona direitinho, mais quando eu apago os campos e os preencho novamente e tento enviar, da uma excepition, nela diz que “cliente” ainda esta sendo usada/ainda esta sendo executada.
Tem alguma maneira de eu encerrar o “cliente” para que nao de mais esse erro?

A seguir o codigo:

public static void enviarEmail(string local, string senha, string dhi, string dht)
{
try
{
SmtpClient cliente = new SmtpClient(“smtp.meudominio.com”);
NetworkCredential credenciais = new NetworkCredential(mensagem.From.Address, senha);
cliente.Credentials = credenciais;

            try
            {
                cliente.Send(mensagem);
                MessageBox.Show("Mensagem enviada!");
                //comecei aqui
                DAO.conectar();
                DAO.inserir(mensagem.To[0].Address, mensagem.From.Address, mensagem.Subject, mensagem.Body, local, dhi, dht);
                DAO.desconectar();
            }
            catch (Exception ex)
            {
                DAO.desconectar();
                MessageBox.Show("Exceção:" + ex.ToString());
            }
        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.Message);
        }
    }

Agradeço desde ja.

Ninguem tem ideia?

To pesquisando na net mais ate agora nao encontrei nada.

Vamo la me ajudem aew.

Leia a documentação da classe SmtpClient:

e veja um exemplo em:

http://www.developer.com/net/net/article.php/11087_3511731_2

Opa thingol vlw pelos links,

graças a eles eu consegui arrumar o problema:

se alguem estiver com o mesmo problema que eu, olha o que eu fiz:

so tive que colocar essa linha de codigo abaixo do DAO.desconectar();:

DAO.conectar();
DAO.inserir(mensagem.To[0].Address, mensagem.From.Address, mensagem.Subject, mensagem.Body, local, dhi, dht);
DAO.desconectar();

mensagem.Dispose();

vlw aew…