quinta-feira, 13 de dezembro de 2012

Pedido de confirmação de e-mail Delphi + Synapse ( TMimemess)

Boa tarde pessoal,
depois de muitos anos sem postar nada, aqui estou eu de volta, estive ocupado mas agora pretendo voltar com novos assuntos.
essa semana penei para resolver um problema de um código que peguei para dar manutenção em Delphi, o código era para enviar e-mail usando a classe TMimemess do Synapse, a função estava pronta e funcionando certinho, mas  tive que incluir um pedido de confirmação de leitura do e-mail, como tive dificuldade de encontrar a solução no google, já que a maioria dos exemplos não usava essa classe, juntei as informações que achei na net com uma função de um componente chamado ACBR, que usamos aqui para geração de NFe e funcionou.
então vamos lá, espero que ajude alguém..rs

depois de criada a instancia da classe TMimemess

m := TMimemess.create;

 podemos adicionar algumas características nele como, arquivos anexos no e-mail,cabeçalhos,o email de quem esta enviando, assunto, etc:

m.AddPartBinary(TStream,String,TMimePart) // Adicionando anexos
 
m.header.tolist.add(String) // Adicionando Cabeçalhos

m.header.From // email de quem está enviando

m.header.subject // Assunto

e muitas outras conforme sua necessidade, no nosso caso queremos pedir confirmação de leitura, vamos usar um cabeçalho personalizado, com esses cabeçalhos podemos agregar varias funcionalidades pré definidas, a nossa é uma chamada Disposition-Notification-To, que fica da seguinte maneira.



m.Header.CustomHeaders.Add('Disposition-Notification-To: '+email);

onde está a variável email coloque o e-mail que vai receber a confirmação.
depois de preencher todas as informações para sua necessidade, basta usar a  procedure EncodeMessage

m.EncodeMessage;

depois disso, pode continuar o envio do e-mail e vc recebera sua confirmação de leitura.

por hoje é só...caso alguém tenha mais alguma duvida referente esse assunto basta pedir nos comentários que eu explico melhor.

um abraço a todos que lerem, e até mais