Array
(
)

Enviar email com anexo e html

T4544
   - 01 out 2004

Estou com um problema no envio do email com anexo.
Da erro com o HTML. Sem o anexo o html funciona corretamento, com o anexo da erro pq mostra o texto html.

O que eu posso fazer??
Muito obrigado


Aroldo Zanela
   - 01 out 2004

Colega,

Qual mecanismo que você está utilizando (Server, Ole, Indy, etc )? Pode colocar um fragmento do código para analisarmos melhor?


T4544
   - 02 out 2004

Eu estou utilizando indy?


T4544
   - 02 out 2004

Estou usando componentes INDY

Codigo:

#Código

try
try
SMTP.Username := FieldbyName(´USER´).AsString;
SMTP.Password := FieldbyName(´PASSWORD´).AsString;
SMTP.Host := FieldbyName(´SMTP´).AsString;
SMTP.Port := FieldbyName(´PORTA´).AsInteger;

SMTP.Connect;
Mensagem. MessageParts.Clear;
for i := 1 to frmAnexo.numArqAnexos do
TIdAttachment.Create(Mensagem.MessageParts,frmAnexo.sgListaArqAnexo.Cells[0,i-1]);


except on E: Exception do
begin
frmAnimation.Close;
MessageDlg(´Erro na tentativa de conexao SMTP. ´ + e.Message,mtError,[mbOk],0);
erro := True;
end;
end;
try
with Mensagem do
begin
if PopupMenu1.Items[0].Checked then
Priority := mpHigh;
if PopupMenu1.Items[1].Checked then
Priority := mpNormal;
if PopupMenu1.Items[2].Checked then
Priority := mpLow;

Subject := edTitulo.Text;
From.Name := FieldbyName(´NOMEEMAIL´).AsString;
Recipients.EMailAddresses := frmEmpresas.sgListaEmpresas.Cells[1,j];
if (RadioGroup1.ItemIndex = 0) then
ReceiptRecipient.Address := FieldByName(´EMAILPADRAO´).AsString;


ppMensagem.HTMLDoc.Add(´<html><body>´);
ppMensagem.HTMLDoc.Add(´<hr>´);

ppMensagem.HTMLDoc.Add(´Prezada empresa Associada: <b>´);
ppMensagem.HTMLDoc.Add(frmEmpresas.sgListaEmpresas.Cells[0,j]);
ppMensagem.HTMLDoc.Add(´</b><hr><br><br>´);


ppMensagem.HTMLDoc.Add(textoMensagem);


ppMensagem.HTMLDoc.Add(´<br><br><br><br><br><br><br><br><hr>´);

ppMensagem.HTMLDoc.Add(´<table width="100¬"><tr>´);
ppMensagem.HTMLDoc.Add(´<td align="left"><img src="´+FieldByName(´IMAGEM´).AsString+´" width=150 height=50>´);
ppMensagem.HTMLDoc.Add(´</td><td align="center"><b>´ + FieldByName(´TEXTO´).Value + ´</b></td></tr></table>´);

ppMensagem.HTMLDoc.Add(´</body></html>´);


Body.Text := ppMensagem.HTMLDoc.Text;
mmMensagem.Lines.Text := Body.Text;
SMTP.Send(Mensagem);

end;