Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Работа с сетью в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.12.2012, 21:04   #1
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию Indy. Отпрвка письма на email. HTML + вложения, как?

Доброго времени суток!

Есть код:
Код:
          msg.Encoding := meMIME;
          msg.IsEncoded:=True;
          msg.ContentTransferEncoding := '8bit';
          msg.CharSet := 'utf-8';
       {   if fM.IsHTMLText then
            msg.ContentType := 'text/html; charset=UTF-8'
          else
            msg.ContentType := 'text/plain; charset=UTF-8'; }
          msg.Headers.AddStrings(fM.SMTPHeaders);

          if fM.UseAttachments then
          begin
            SetLength(Attachments, 0);
            for i2 := 0 to fM.AttachmentsList.Count - 1 do
            begin
              SetLength(Attachments, High(Attachments) + 2);
              Attachments[High(Attachments)] :=
                TIdAttachmentFile.Create(msg.MessageParts,
                fM.AttachmentsList[i]);
            end;
          end;
          try
            SMTP.Send(msg);
Сейчас(синий код за комментирован), на почту приходит постой текст и вложения. Однако если его раскомментировать, и поставить IsHTMLText в TRUE, то приходит нечто такое:
Цитата:
This is a multi-part message in MIME format --IfD41ocMHdu26JAArxZ59hNBA96D=_nuTp Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Content-Disposition: inline =D0=AF =D1=82=D0=B5=D0=BA=D1=81=D1=82 =D0=B4=D0=BB=D1=8F =D1=81 http:= //yandex.by/ =D0=B8 =D0=AD=D1=82=D0=BE =D1=82=D0=B5=D0=BA=D1=81=D1=82= 3, =D0=BD=D0=BE =D1=83=D0=B6=D0=B5 =D1=81=D0=BE =D1=81=D1=81=D1=8B=D0= =BB=D0=BA=D0=BE=D0=B9
--IfD41ocMHdu26JAArxZ59hNBA96D=_nuTp Content-Type: text/plain; charset="windows-1251"; name="47hZTQ4Q.png" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="47hZTQ4Q.png"
Где строка жирным, это строка вида <b>я строка</b>
Человек_Борща вне форума Ответить с цитированием
Старый 25.12.2012, 06:31   #2
Slym
Участник клуба
 
Регистрация: 07.12.2011
Сообщений: 1,025
По умолчанию

не пользуй msg.Body и его причиндалы
msg.Encoding := meMIME;
msg.IsEncoded:=True;
msg.ContentTransferEncoding := '8bit';
msg.CharSet := 'utf-8';
делай вручную
Код:
            LTextPart := TIdText.Create(Msg.MessageParts);
            LTextPart.Body.Text := Text;
            LTextPart.ContentType := 'text/html; charset=UTF-8'
            LTextPart.ContentTransfer := '8bit';    {do not localize}
Не стесняемся, плюсуем!
Slym вне форума Ответить с цитированием
Старый 25.12.2012, 11:47   #3
Кольша
Далеко не
Участник клуба
 
Аватар для Кольша
 
Регистрация: 11.08.2011
Сообщений: 1,512
По умолчанию

почему бы не перейти на synapse?)
Кольша вне форума Ответить с цитированием
Старый 25.12.2012, 13:07   #4
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию

Кольша, HTTP да, но в плане SMTP синапс немного не до делан и не так гибок.

Проблема решена путем чтения rfcшек по SMTP.
Человек_Борща вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Indy. Отправка сообщений на email, на русском. Человек_Борща Работа с сетью в Delphi 1 14.12.2012 06:52
Email с html оформлением lavigne HTML и CSS 1 27.09.2010 00:34
Вложения письма. IliaIT Работа с сетью в Delphi 4 24.08.2010 08:29
ID письма при подтверждении прочтения (INDY) Highlander1981 Работа с сетью в Delphi 0 08.06.2010 20:22