Проблемы с электронной почтой, отправленной с Indy и ContentType = 'multipart / mixed' - PullRequest
2 голосов
/ 06 ноября 2019

Я использую следующий код для отправки электронного письма из приложения Delphi с использованием Indy.

Я только что оставил основную часть своей процедуры:

MailMessage.From.Name:= UserName;
MailMessage.Encoding := meDefault;
MailMessage.Subject := MessageObject;
with TIdText.Create(MailMessage.MessageParts, nil) do begin
  ContentType := 'multipart/alternative';
end;
with TIdText.Create(MailMessage.MessageParts, nil) do
begin
  Body.Text:= MessageText; // MessageText could be eithr HTML or TEXT
  ContentType := 'text/html';
end;
// recipients lists are populated
PrepareToList;
PrepareccList;
PrepareBccList;
// attachments are added to the MailMessage
AddAttachments;
MailMessage.ContentType :=  'multipart/mixed';
//usage of TIdSMTP to send mail
SMTP.Connect;
SMTP.Send(MailMessage);

Приведенный выше код как-то работаетна большинстве SMTP-серверов сообщение, полученное в Outlook, выглядит следующим образом:

mail as seen in outlook: normal case

... но когда я пользуюсь определенным «проблемным» SMTP-сервером,Я вижу:

mail as seen in outlook: strange case

Первый случай в порядке, второй нечетный.

Странно то, что при использовании определенногоSMTP-сервер, я воспроизвожу эту проблему, со всеми остальными все в порядке.

Не могли бы вы дать мне подсказку, чтобы лучше понять, что происходит?

...