Como enviar Anexo em Email pelo INDY 10

Delphi

26/03/2009

Pessoal estou tentando envia um anexo por email usando o INDY 10 mais ele esta anexando o arquivo junto com a mensagem colocando um monte de sugeira no corpo da mensagem o codigo que estou usando é o seguinte


IdMessage.Subject := edtAssunto.Text;
IdMessage.Body.Text := Ed_Message.text;
IdMessage.ContentType := ´text/html´;

// Arquivos anexos ===============================================================================
for xAnexo := 0 to List_ArqAnex.Items.Count - 1 do
TIdAttachmentFile.create(idmessage.MessageParts, TFileName(List_ArqAnex.Items.Strings[xAnexo]));
//TIdAttachment.create(idmessage.MessageParts, TFileName(´c:\Answer.txt´));
//===================================================================================================

IdSMTP.Connect();
IdSMTP.Authenticate;
try
IdSMTP.Send(IdMessage);
finally
IdSMTP.Disconnect;
end;


Luciano_f

Luciano_f

Curtidas 0

Respostas

.lg.

.lg.

26/03/2009

Luciano,
Estou precisando usar estes componentes, mas não sei fazer a configuração dos componentes para connexão com o gmail.

O que eu coloco nas suas propriedades???
Meu componente trava ao tentar connectar.

Até criei um email dedicado ao programa.


GOSTEI 0
Rodc

Rodc

26/03/2009

Estou precisando usar estes componentes, mas não sei fazer a configuração dos componentes para connexão com o gmail. O que eu coloco nas suas propriedades??? Meu componente trava ao tentar connectar.

Dá uma olhada nesse tópico:
http://forum.devmedia.com.br/viewtopic.php?p=327083#327083


GOSTEI 0
Luciano_f

Luciano_f

26/03/2009

Apenas resaltando o post pois ainda não consegui enviar o anexo.


GOSTEI 0
Luciano_f

Luciano_f

26/03/2009

Apenas resaltando o post pois ainda não consegui enviar o anexo.


GOSTEI 0
Onjahyr

Onjahyr

26/03/2009

no mesmo site onde baixou o indy você encontra os DEMOS, que mostra como enviar anexos...


GOSTEI 0
Luciano_f

Luciano_f

26/03/2009

no mesmo site onde baixou o indy você encontra os DEMOS, que mostra como enviar anexos...


Negativo jovem eu já procurei isso mais não faz o que preciso..


GOSTEI 0
Onjahyr

Onjahyr

26/03/2009

Ok Jovem, desculpe então. Alias, eu tenho um sistema usando o Indy que envia anexos e funciona muito bem, parti do exemplo que vem com o INDY.

Sucesso.


GOSTEI 0
Rodc

Rodc

26/03/2009

Se não me engano nos exemplos do Indy 10 não tem exemplo de envio de email, mas nos exemplos do Indy 9 tem este exemplo, inclusive com envio de anexo.


GOSTEI 0
Luciano_f

Luciano_f

26/03/2009

Pessoal eu já vi todos os exemplos de envio de email da Indy mais só consigo fazer funcionar no Indy 9 no indy 10 não funciona e como eu disse no post ele envia mais dá problemas se alguem consegiu fazer isso com o indy 10 e poder me mostrar o codigo eu ficarei muito agradecido.

Grato.


GOSTEI 0
Landersongomes

Landersongomes

26/03/2009

Bom dia campeão...
Faz tempo que nao programo, mas há uns 3 anos atras consegui enviar um email conforme abaixo...

Sinceramente nao me recordo muita coisa mas dava certo...
Adapte e veja se te serve.
=============================================
procedure TfrmExportador.EnviarMail (Destinatario, Arquivo : string);
var
Config : TIniFile;
begin
// Servidor de saida
Config := TIniFile.Create(ExtractFilePath(ParamStr(0))
+ ´configuracoes.ini´);
IdSMTP1.Host := Config.ReadString(´MAIL´, ´SMTP´, ´´);
IdSMTP1.Username := Config.ReadString(´MAIL´, ´USER´, ´´)+ ´=brunidas.com.br´;
IdSMTP1.Password := ´brlogistica´;
IdSMTP1.AuthType := atDefault;
IdSMTP1.Connect;
if IdSMTP1.Connected = True then
begin
// Mensagem
IdMessage1.Clear;
IdMessage1.Subject := Config.ReadString(´MAIL´, ´SUBJECT´, ´´);
// Aqui sera colocado o nome do arquivo
IdMessage1.From.Text := Config.ReadString(´MAIL´, ´USER´, ´´)+ ´@brunidas.com.br´;
IdMessage1.Recipients.EMailAddresses := Destinatario;
// IdMessage1.CCList.EMailAddresses := Config.ReadString(´MAIL´, ´CC´, ´´) + ´@´ + Config.ReadString(´MAIL´, ´DOMINIO´, ´´);
IdMessage1.Body.LoadFromFile(ExtractFilePath(ParamStr(0)) +
Config.ReadString(´MAIL´, ´BODY´, ´´));
// Anexando o arquivo
TIdAttachmentFile.Create(IdMessage1.MessageParts,
TFileName(Arquivo));

IdSMTP1.Send(IdMessage1);
IdSMTP1.Disconnect;
Config.Free;
end;
end;


GOSTEI 0
Luciano_f

Luciano_f

26/03/2009

Bom dia campeão... Faz tempo que nao programo, mas há uns 3 anos atras consegui enviar um email conforme abaixo... Sinceramente nao me recordo muita coisa mas dava certo... Adapte e veja se te serve. ============================================= procedure TfrmExportador.EnviarMail (Destinatario, Arquivo : string); var Config : TIniFile; begin // Servidor de saida Config := TIniFile.Create(ExtractFilePath(ParamStr(0)) + ´configuracoes.ini´); IdSMTP1.Host := Config.ReadString(´MAIL´, ´SMTP´, ´´); IdSMTP1.Username := Config.ReadString(´MAIL´, ´USER´, ´´)+ ´=brunidas.com.br´; IdSMTP1.Password := ´brlogistica´; IdSMTP1.AuthType := atDefault; IdSMTP1.Connect; if IdSMTP1.Connected = True then begin // Mensagem IdMessage1.Clear; IdMessage1.Subject := Config.ReadString(´MAIL´, ´SUBJECT´, ´´); // Aqui sera colocado o nome do arquivo IdMessage1.From.Text := Config.ReadString(´MAIL´, ´USER´, ´´)+ ´@brunidas.com.br´; IdMessage1.Recipients.EMailAddresses := Destinatario; // IdMessage1.CCList.EMailAddresses := Config.ReadString(´MAIL´, ´CC´, ´´) + ´@´ + Config.ReadString(´MAIL´, ´DOMINIO´, ´´); IdMessage1.Body.LoadFromFile(ExtractFilePath(ParamStr(0)) + Config.ReadString(´MAIL´, ´BODY´, ´´)); // Anexando o arquivo TIdAttachmentFile.Create(IdMessage1.MessageParts, TFileName(Arquivo)); IdSMTP1.Send(IdMessage1); IdSMTP1.Disconnect; Config.Free; end; end;


Esse codigo ainda não funcionou, o problema esta relacionado ao
´ContentType´ se eu usar

ContentType := ´text/html´;
ele envia a mensagem correta mais não envia o anexo
se eu uso ´multipart/related´; ele envia o anexo mais não envia a mensagem

a mensagem eu estou enviando no formato HTML

Como devo proceder para envia a mensagem no formato HTML e o Anexo junto..

grato a todos.


GOSTEI 0
Luciano_f

Luciano_f

26/03/2009

Reforçando o topico pois ainda não consegui..


GOSTEI 0
Devmedia

Devmedia

26/03/2009

Reforçando o topico pois ainda não consegui..


Amigo Luciano_F, tudo bom contigo?
Olha, primeiramente qual a versão do seu Delphi?

Caso seja o Delphi 2009 o Indy 10 nativo, apresentava erros ao anexar um arquivo no email.
Porém este problema foi resolvido e postei a solução aqui mesmo no fórum neste link : [url]http://forum.devmedia.com.br/viewtopic.php?t=98360[/url]

Abraço.


GOSTEI 0
POSTAR