Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Delphi [игнор отключен] [закрыт для гостей] / отправка почты с вложениями / 6 сообщений из 6, страница 1 из 1
12.11.2018, 10:48
    #39731585
terlalex
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
отправка почты с вложениями
Здравствуйте.
Пытаюсь отправить письмо.
Причем, мне нужно письмо, с HTML - тегами и вложение в виде отдельного файла.
Для того, что бы корректно отображался HTML, устанавливаю

idmessage1.ContentType:='text/html';

но, при этом вложение отображается не отдельным файлом, а попадает в текст письма.
Вложение корректно отображается при

IdMessage1.ContentType:='text/plain';

Но при этом в тексте письма появляются теги.
Как сделать, что бы нормально отображалось письмо и вложение было отдельным файлом?
...
Рейтинг: 0 / 0
12.11.2018, 11:10
    #39731596
Cobalt747
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
отправка почты с вложениями
полностью код показывай
...
Рейтинг: 0 / 0
12.11.2018, 11:20
    #39731607
terlalex
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
отправка почты с вложениями
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
     idmessage1.ContentType:='text/html; charset=windows-1251';
     IdMessage1.Body.text:=UTF8Encode(RichEdit1.text);
     IdMessage1.Subject:=UTF8Encode(edit1.Text); 
     IdMessage1.From.Address:= ComboBox2.Items [ComboBox2.ItemIndex]; 
     IdMessage1.Recipients.EMailAddresses:=edit1.Text; 
     IdMessage1.IsEncoded:=true;


 for i := 0 to form15.ListBox1.Items.Count-1 do
  Begin
  j := ListBox1.Items.Strings[i] ;
   if j <> '' then   attach := TIdAttachmentFile.Create(IdMessage1.MessageParts, j );
  End;

  try
    IdSMTP1.Connect();
    IdSMTP1.Send(form15.IdMessage1);
    showmessage('Сообщение отправлено');
  except
    showmessage('Ошибка при отправке сообщения');
  end;
  IdSMTP1.Disconnect;



Модератор: Пользуйтесь тегом (кнопкой) SRC для оформления кода, пожалуйста.
...
Рейтинг: 0 / 0
12.11.2018, 11:54
    #39731626
X11
X11
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
отправка почты с вложениями
...
Рейтинг: 0 / 0
12.11.2018, 16:50
    #39731889
On-Lite
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
отправка почты с вложениями
Я в своё время использовал rar консольный на отправку почты. для создания письма и пользователь бы выбирал, кому куда отправить.
Типа rar.exe a -ieml namearch.rar .\bases\*.*
...
Рейтинг: 0 / 0
13.11.2018, 09:12
    #39732159
terlalex
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
отправка почты с вложениями
нашел решение!
нужно для каждой части устанавливать тип контента

Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
  idtTextPart := TIdText.Create(IdMessage1.MessageParts, nil);
  idtTextPart.ContentType  := 'multipart/alternative';
  idtTextPart.ParentPart := -1;

  idtTextPart := TIdText.Create(IdMessage1.MessageParts, nil);
  idtTextPart.ContentType:='text/plain';
  idtTextPart.CharSet := 'windows-1251';
   idtTextPart.Body.Assign(RichEdit1.LINES); // описание в текстовом виде
  idtTextPart.ParentPart := 0;

  idtTextPart:= TIdText.Create(IdMessage1.MessageParts, nil);
  idtTextPart.ContentType := 'text/html';
  idtTextPart.CharSet := 'windows-1251';
  form15.RichEdit1.SelectAll;
      form15.RichEdit1.CopyToClipboard;
  idtTextPart.Body.Add(UTF8Encode(ClipboardToHTML(form15.RichEdit1))); //Текст сообщения);// описание в html виде
  idtTextPart.ParentPart := 0;

   // добавление Attach (по аналогии можно несколько)

  for i := 0 to ListBox1.Items.Count-1 do
  begin
    ATT := TIdAttachmentFile.Create(form15.IdMessage1.MessageParts, AnsiToUtf8(form15.ListBox1.Items.Strings[i]));
    with ATT do
    begin
      ContentType := 'application/octet-stream';
      FileName    := AnsiToUtf8(form15.ListBox1.Items.Strings[i])         ;
    end;
  end;



Модератор: Пользуйтесь тегом (кнопкой) SRC для оформления кода, пожалуйста.
...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / отправка почты с вложениями / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]