Sincronizar servidor IMAP com email enviado no cliente smtp indy do delphi

Delphi

05/07/2017

Oi Pessoal.

Fiz uma pequena aplicação para envio de e-mail via smtp ( TdSMTP ) da paleta indy do delphi berlin.
Uso o work mail da Amazon.
funcionou perfeitamente bem para envio, porem os e-mails enviados nesta aplicação não aparecem na caixa de enviados do servidor .
Desta forma eu não consigo visualizar o historico de envio de mensagens.
Alguem pode me ajudar a fazer esta sincronia ? De modo que eu envie um e-mail via aplicacao VCL e o email tambem apareca na caixa de enviados do servidor imap ?

Obrigado a todos.

Ed junior
Edevardson Junior

Edevardson Junior

Curtidas 0

Respostas

Marcello Assumpção

Marcello Assumpção

05/07/2017

Eu sei como fazer isso. Você ainda esta precisando?
GOSTEI 0
Marcello Assumpção

Marcello Assumpção

05/07/2017

Basicamente, você precisa usar ainda, outro componente Indy:

TIdImap4.


Configure:
idmp41.ConnectTimeout := 30000;
idmp41.ReadTimeout := 30000;
idmp41.Host := Nome do HOST_IMAP; (geralmente imap.provedor.com.br)
idmp41.Port := Porta do HOST_IMAP; (Geralmente 143)
idmp41.UserName := HOST_USERNAME;
idmp41.Password := HOST_PASSWORD;
idmp41.Connect(); (Sim, é necessário conectar!)

Conecte-se com seu idSMTP, autentique, monte seu idMessage.



Basta usar agora:
idSMTP1.Send(idEmail1);
idmp41.AppendMsg(Nome_da_Pasta_Onde_ficarão_email_enviados,idEmail1);

Observação: O nome da pasta é uma string simples. Ma precisa estar correta. Normalmente é "INBOX.Enviados", mas pode ser outra a sua escolha. Eu fiz uma rotina que permite levantar todas as pastas que existem como opções e escolher uma delas, mas aí já é outro post né?

Se tudo estiver correto, você verá o código do seu e-mail na pasta informada. Isso é bom para provar que o e-mail foi enviado, permitindo ao cliente gerenciar seus envios de forma clara e fácil. Só não sei ainda o porque do e-mail ficar como código, não aparecendo como é enviado ao destinatário.
GOSTEI 0
Rodrigão

Rodrigão

05/07/2017

Basicamente, você precisa usar ainda, outro componente Indy:

TIdImap4.


Configure:
idmp41.ConnectTimeout := 30000;
idmp41.ReadTimeout := 30000;
idmp41.Host := Nome do HOST_IMAP; (geralmente imap.provedor.com.br)
idmp41.Port := Porta do HOST_IMAP; (Geralmente 143)
idmp41.UserName := HOST_USERNAME;
idmp41.Password := HOST_PASSWORD;
idmp41.Connect(); (Sim, é necessário conectar!)

Conecte-se com seu idSMTP, autentique, monte seu idMessage.



Basta usar agora:
idSMTP1.Send(idEmail1);
idmp41.AppendMsg(Nome_da_Pasta_Onde_ficarão_email_enviados,idEmail1);

Observação: O nome da pasta é uma string simples. Ma precisa estar correta. Normalmente é "INBOX.Enviados", mas pode ser outra a sua escolha. Eu fiz uma rotina que permite levantar todas as pastas que existem como opções e escolher uma delas, mas aí já é outro post né?

Se tudo estiver correto, você verá o código do seu e-mail na pasta informada. Isso é bom para provar que o e-mail foi enviado, permitindo ao cliente gerenciar seus envios de forma clara e fácil. Só não sei ainda o porque do e-mail ficar como código, não aparecendo como é enviado ao destinatário.


Marcellao, boa noite... td na paz?
Kra seu exemplo nao gera nenhum tipo de erro ou exception, mas o email nao vai para a pasta mencionada....
O q pode ser ???
GOSTEI 0
POSTAR