Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá!
Tenho uma aplicação que envia e-mail com anexo e estou tendo uns problemas com o nome do anexo.
Estou usando TIdMessage, TIdSMPT e para anexos estou usando TIdAttachmentFile.
Quando eu coloco, por exemplo, um anexo chamado x.pdf na minha conta de e-mail da Locaweb o arquivo chega com o nome certo, porém quando mando nas contas do Hotmail e Gmail ele chega com um nome assim: x.pdf name="x.pdf".
Alguém tem alguma ideia do que possa ser?
Segue a parte do código que anexa o arquivo
anexoCaminho := 'C:\x.pdf';
anexo := TIdAttachmentFile.Create(MessageParts,anexoCaminho);
anexo.ContentType := getTipoMIME(ExtractFileExt(anexoCaminho))+ ';name='+ ExtractFileName(anexoCaminho);
e a função getTipoMIME
function TForm1.getTipoMIME(const Extensao: String): String;
const
TIPOS_MIME : Array[0..3] of String = ('.jpg;image/jpeg',
'.jpeg;image/jpeg',
'.txt;text/plain',
'.pdf;application/pdf');
var
Retorno : String;
tpExt : String;
i : Integer; Retorno := '';
tpExt := LowerCase(Extensao);
for I := 0 to Length(TIPOS_MIME) - 1 do
begin
if Pos(tpExt,TIPOS_MIME[i]) > 0 then
begin
Retorno := Copy(TIPOS_MIME[i],Pos(';',TIPOS_MIME[i]) + 1,length(TIPOS_MIME[i]) - Pos(';',TIPOS_MIME[i]));
break;
end;
end;
Result := Retorno;
end;
Obrigado!
Carregando comentários...