Emaile z załącznikiem - problem z nazwą

0

Problem mam taki, że jak daje załącznik to on ma inna nazwę niż załączany plik. a chciał bym żeby miał taką samą. A jest np obrazek obrazek-1e0473-1.bin. Gdzie typ powinien być np jpg.

        bmppart:=TIdAttachmentFile.Create(IdMessage1.MessageParts,E_plik1.Text);
        bmppart.ContentType := 'image/jpeg';
        bmppart.ContentDisposition := 'inline';
        bmppart.ExtraHeaders.Values['content-id'] :=E_plik1.Text;
        bmppart.DisplayName :=E_plik1.Text;
 

jak to poprawić

0

Trudno cokolwiek pomóc potrzebuję kilku podstawowych informacji czyli przede wszystkim wersji Indy, z jakiego serwera SMTP korzysta i na jakiej skrzynce odbiorczej załącznik ma nieprawidłową nazwę(czyli czy na kilku odbiorczych np. gmail, onet, wp, interia, o2 wszędzie jest tak samo) no i co zawiera E_plik1.Text czy to nie jest przypadkiem ścieżka wraz z nazwą pliku? Jeżeli tak to ma być wszędzie z wyjątkiem konstruktora tylko nazwa pliku a więc ExrtractFileName(E_plik1.Text);

0

Oto przykładowa procedura loginy i hasła zrobiłem jako gwiazdki testowałem na o2 i wp. Program testowany na delphi 2009.
w edit1.txt jest cała ścieżka do pliku. Używam indy 10.

procedure TForm_plik.Button5Click(Sender: TObject);
var
bmppart: TIdAttachmentFile;
begin
    IdMessage1.Body.Append('TREŚĆ MAILA');
    IdMessage1.Recipients.EMailAddresses := '****@o2.pl';
    IdMessage1.Subject := 'TEMAT';
    IdMessage1.From.Name := 'Od kogo mail';
    IdMessage1.From.Address := '*****@o2.pl';
    idSMTP1.Password := '*****';
    idSMTP1.Username := '*****';
    idSMTP1.Host := 'poczta.o2.pl';

    bmppart:=TIdAttachmentFile.Create(IdMessage1.MessageParts, Edit1.Text);
    bmppart.DisplayName:=ExtractFileName(Edit1.Text);
    bmppart.FileName:= ExtractFileName(Edit1.Text);
  try
  IdSMTP1.Connect;
    IdSMTP1.Send(IdMessage1);
  finally
    IdSMTP1.Disconnect;
  end;
end;
 

a tak przychodzi mail tzn jego nazwa wysyłam np jak wysyłam obrazek jest to samo czy tekstowy plik.

138130682051cfdb024ce4c.png

poprawienie znacznika obrazka - fp

0

Czy ktoś może wie jak ten problem rozwiązać?

0

Trudno tu coś doradzić bo u mnie na Indy 10.6.0.5073 i D7 jest ok. Zapisz przykładowy mail jako EML (na o2 jest coś takiego w więcej po prawej jak wejdziesz do wiadomości). Otwórz go sobie w notatniku i wklej zawartość a konkretnie abyś nie musiał się bawić w zamazywanie tutaj mało istotnych informacji chodzi o to co jest od:
Content-Type: multipart/mixed;boundary="----=_20140622194556_46596"
aż do początku treści załącznika (w przypadku plików binarnych będzie kodowana base64)
Najważniejsze to czy jest tam linia:
Content-Disposition: attachment; filename="test.jpg"

0

Jest tam coś takiego

Content-Type: application/octet-stream        name="93C66.JPG"
Content-Transfer-Encoding: base64
Content-Disposition: attachment
        filename="93C66.JPG"

Czyli nazwa plików jest
tylko dlaczego na poczcie wyświetla dziwna nazwę.

dodanie znacznika <code> - furious programming

0

Czy może ma ktoś dclIndyProtocols120.bpl plik? Podmienił bym na sprawdzenie.

1 użytkowników online, w tym zalogowanych: 0, gości: 1