// Задаём откуда, куда и тему
TIdMessage* Message = new TIdMessage( NULL );
Message->From->Address = ".....";
Message->Subject = ".....";
TIdEMailAddressItem* ai = Message->Recipients->Add();
ai->Address = "......";
Message->Body->Clear();
// Работаем с текстовой частью
// Добавляем аттач
new TIdAttachment( Message->MessageParts, "IMG.JPG" );
// Отправляем
Аномалия
мне необходимо прикреплять к письму файлы, для этого я использую:
TIdSMTP
TIdMessage
и TIdAttachment
Так вот - у объекта TIdAttachment должно быть свойство ContentID которому присваивается айдишник прикрепленного файла (обычно он придумывается рандомом).
А у меня нету свойтсва ContentID
Причем у знакомого это свойство есть.
Версии компонентов Indy стоят одинаковые!!!
Куда оно пропало???!!!! Помогите разобраться!!!!
Что-то ты путаешь. Либо версии, либо компоненты. Нет у него ContentId. А где ты его используешь? Вот примерно так можно добавить аттач:
Цитата:
// Добавляем аттач
new TIdAttachment( Message->MessageParts, "IMG.JPG" );
// Отправляем
new TIdAttachment( Message->MessageParts, "IMG.JPG" );
// Отправляем
мне надо не просто прицепить файл, а чтобы прикрепленный файл (в моем случае это картинки) отображался в теле письма - HTML...
для этого нужен cid (ContentID)
что-то наподобии EML
Код:
// Создаёшь текстовую часть html, со ссылкой картинку (по имени)...
TextPart = new TIdText( Message->MessageParts, NULL );
TextPart->Body->Text = "<html><body><b>bla bla bla</b><img src=\"IMG.JPG\" ></body></html>";
TextPart->ContentType = "text/html";
// Аттачишь картинку, а ContentId задаешь её имя...
TIdAttachment* Attach = new TIdAttachment( Message->MessageParts, "IMG.JPG" );
Attach->ContentType = "image/jpg";
Attach->Headers->Add( "Content-ID: <IMG.JPG>" );
TextPart = new TIdText( Message->MessageParts, NULL );
TextPart->Body->Text = "<html><body><b>bla bla bla</b><img src=\"IMG.JPG\" ></body></html>";
TextPart->ContentType = "text/html";
// Аттачишь картинку, а ContentId задаешь её имя...
TIdAttachment* Attach = new TIdAttachment( Message->MessageParts, "IMG.JPG" );
Attach->ContentType = "image/jpg";
Attach->Headers->Add( "Content-ID: <IMG.JPG>" );
Цитата: FataLL
Ага... Так бы и сказал...:)
Код:
// Создаёшь текстовую часть html, со ссылкой картинку (по имени)...
TextPart = new TIdText( Message->MessageParts, NULL );
TextPart->Body->Text = "<html><body><b>bla bla bla</b><img src=\"IMG.JPG\" ></body></html>";
TextPart->ContentType = "text/html";
// Аттачишь картинку, а ContentId задаешь её имя...
TIdAttachment* Attach = new TIdAttachment( Message->MessageParts, "IMG.JPG" );
Attach->ContentType = "image/jpg";
Attach->Headers->Add( "Content-ID: <IMG.JPG>" );
TextPart = new TIdText( Message->MessageParts, NULL );
TextPart->Body->Text = "<html><body><b>bla bla bla</b><img src=\"IMG.JPG\" ></body></html>";
TextPart->ContentType = "text/html";
// Аттачишь картинку, а ContentId задаешь её имя...
TIdAttachment* Attach = new TIdAttachment( Message->MessageParts, "IMG.JPG" );
Attach->ContentType = "image/jpg";
Attach->Headers->Add( "Content-ID: <IMG.JPG>" );
при таком раскладе, мне приходит письмо с исходным html кодом, и прикрепленной картинкой.
почему в письме исходный html код письма?
и как сделать чтобы русские буквы отображались нормальным шрифтом?
где необходимо проставить кодировку?