PAGUE 6 MESES
LEVE 12 MESES
GARANTIR DESCONTO

Fórum Email no Indy com imagem e html(EXTREMAMENTE URGENTE) #194780

13/11/2003

0

Caros, continuo tendo problemas com envio de email em html com imagem no corpo do html. Eu consigo enviar normalmente o email, mas a imagem não aparece no email, tenho abaixo o meu código, dêem uma olhada e me digam o que fazer para que eu possa enviar meu html com uma imagem no corpo da mensagem, pois os meus usuários irão visualizar as mensagens em off-line. Agradeço desde já. Vejam o código:

procedure TfEnviaEmail.BitBtn1Click(Sender: TObject);
var
vFormato: TRLCustomSaveFilter;
Linha, img, tmpfile,tmpext:string;
anexaImagem :TIdAttachment;
i : integer;
begin
CarregaConfig(´G´);
// Se diretório não existir ele criará o respectivo diretório
if not DirectoryExists(´c:\blue\relatorios´) then
begin
if not CreateDir(´c:\blue\relatorios´) then
raise Exception.Create(´Problemas ao criar diretório ´C:\Blue\Relatorios´´);
end
else
// Se existir, ele Posiciona no diretório corrente
SetCurrentDir(´c:\blue\relatorios´);

// salva o formato do arquivo em .htm
vFormato := SaveFilterByFileName(´.htm´);
// pega extensão do arquivo
tmpext:= vFormato.DefaultExt;
// Posiciona nome do arquivo com a extensão .htm
tmpfile:=ChangeFileExt(´OS´+QrClienteEmailCodRedCt.AsString +´.´,tmpext);
img := ChangeFileExt(´OS´+QrClienteEmailCodRedCt.AsString +´-img1´+´.´,´.bmp´);
// Informe nome do arquivo a ser salvo
vFormato.FileName:=tmpfile;
// Salva Arquivo em Diretorio pré-definido
FilterPages(Pages,vFormato);

if edUsuario.Text <> ´´ then
smtp.Username := edUsuario.Text
else
begin
Application.MessageBox(´Usuário deve estar preenchido para envio do email!!!´,´Aviso´, MB_OK + MB_ICONSTOP);
edUsuario.SetFocus;
end;

if edSenha.Text <> ´´ then
smtp.Password := edSenha.Text
else
begin
Application.MessageBox(´Senha deve estar preenchido para envio do email!!!´,´Aviso´, MB_OK + MB_ICONSTOP);
edSenha.SetFocus;
end;

if edSmtp.Text <> ´´ then
smtp.Host := edSmtp.Text
else
begin
Application.MessageBox(´Conta de SMTP deve estar preenchido para envio do email!!!´,´Aviso´, MB_OK + MB_ICONSTOP);
edSmtp.SetFocus;
end;

if edPorta.Text <> ´´ then
smtp.Port := StrToInt(edPorta.Text)
else
begin
Application.MessageBox(´Porta de servidor deve estar preenchido para envio do email!!!´,´Aviso´, MB_OK + MB_ICONSTOP);
edPorta.SetFocus;
end;

if edEnvEmail.Text = ´´ then
begin
Application.MessageBox(´Endereço para envio de email deve ser preenchido!!!´,´Aviso´, MB_OK + MB_ICONSTOP);
edEnvEmail.SetFocus;
end;

try
smtp.Connect;
except
raise;
smtp.Disconnect;
end;

CorpoEmail.Clear;
CorpoEmail.Lines.LoadFromFile(tmpfile);

pgProd.HTMLDoc := CorpoEmail.Lines;

pnStatus.Caption := ´´;

try
with IdMessage1 do
begin
// Assunto
Subject := edAssunto.Text;
// Nome da Conta Ex.: blue@gcenet.com.br
From.Text := edConta.Text;
// Nome do Remetente
From.Name := edNomeUsuario.Text;
// Monta Lista de Emails a serem enviados
// MontaListaEMail;
// Destinatário
Recipients.EMailAddresses := edEnvEmail.Text;
// Email para resposta
// ReceiptRecipient.Address := edEnvEmail.Text;
// Corpo do Email
Body.Text := pgProd.Content;
anexaImagem := TIdAttachment.Create(IdMessage1.MessageParts,img);
anexaImagem.ContentType := ´image/jpeg´;
anexaImagem.contenttransfer:=´base64´;


pnStatus.Caption := ´Aguarde, enviando email!!!´;
// Envia o conjunto do email ´Assunto, Corpo, Configurações, Etc...´

smtp.Send(IdMessage1);
pnStatus.Caption := ´Email enviado com sucesso!!!´;
end;
finally
smtp.Disconnect;
end;


Halexmaciel

Halexmaciel

Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar