Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как вложить в тело письма html код? [D7, XP]


Страницы:   1 2

deras ©   (2008-10-16 00:12:00) 

Возможно и не по адресу вопрос, но может кто-то сталкивался спроблемкой. Есть процедура формирования и отправки письма

procedure TForm1.SendMail;
var  M: TIdMessage;
    s1,s2,s3,s4,s5,s6:string;
begin
 M:=TIdMessage.Create(nil);
 M := TIdMessage.Create(Form1);
 M.From.Text := 'qqq@mail.com';
 M.Recipients.Add;
 M.Recipients.Items[0].Text := MailTo;
 M.ContentType := 'text/plain; charset=Windows-1251';
 M.Subject := 'Тема письма';
 //M.Body.Text := ' Просто  текст письма  ';
 s1:='<html><head></head><body><table width="100%"><tr><td width="30%"><img  src="pict.jpg" align="center" width="100%"/></td>';
 s2:='<td width="40%" align="center"><h3><font color="red" face="Tahoma">';
 s3:='Заголовок';
 s4:='</font></h3><font color="black" face="Comic Sans MS" size="4">';
 s5:='Текст письма';
 s6:='</td><td width="30%"></td></tr></table></body></html>';
 M.Body.Text :=s1+s2+s3+s4+s5+s6;
 IdSMTP1.AuthenticationType := atLogin;
 IdSMTP1.Host := host;
 IdSMTP1.Username := Username;
 IdSMTP1.Password := Password;
 try
 IdSMTP1.Connect();
 except End;
 if IdSMTP1.Connected then
 begin
   IdSMTP1.Send(M);
 end;
 IdSMTP1.Disconnect;
end;

Если вставлять в тело письма просто текст (заремлен в примере), то все ок. Но письмо не очень красивое получается. Вставляю хтмл, то отображает нормально (правда только в TheBat!,а Аутглюк отображает сам хтмл код), а картинки нет (если беру сам хтмл, то в браузере открывается нормально). Как правильно вставить хтмл код в тело письма?
Заране благодарен.


brother   (2008-10-16 12:11:00) [21]

> но к сожалению, в TheBat!-е ничего не поменялось

так у тебя же там все нормально?

> но рисунка нет, хотя от физически лежит в той же папке

и в какой?


deras   (2008-10-16 11:26:00) [22]


> попробуй так:M.ContentType := 'text/html; charset=Windows-
> 1251';


Спасибо за ответ, но к сожалению, в TheBat!-е ничего не поменялось, а вот аутглюк показал нормально тело письма, но рисунка нет, хотя от физически лежит в той же папке


brother   (2008-10-16 06:20:00) [23]

> зы имхо лучше все обернуть тэгом <table> ;)

упс, проглядел)


brother   (2008-10-16 06:19:00) [24]

> s1:='<html><head></head><body><table width="100%"><tr><td
> width="30%"><img  src="pict.jpg" align="center" width="100%"/></td>';
>
> s2:='<td width="40%" align="center"><h3><font color="red"
> face="Tahoma">';
> s3:='Заголовок';
> s4:='</font></h3><font color="black" face="Comic Sans MS"
> size="4">';
> s5:='Текст письма';
> s6:='</td><td width="30%"></td></tr></table></body></html>';
>
> M.Body.Text :=s1+s2+s3+s4+s5+s6;

лучше так:
M.Body.Text :='<html><head></head><body><table width="100%"><tr><td width="30%"><img  src="pict.jpg" align="center" width="100%"/></td>'+
             '<td width="40%" align="center"><h3><font color="red" face="Tahoma">'+
             'Заголовок'+
             '</font></h3><font color="black" face="Comic Sans MS" size="4">'+
             'Текст письма'+
             '</td><td width="30%"></td></tr></table></body></html>';
зы имхо лучше все обернуть тэгом <table> ;)


brother   (2008-10-16 05:56:00) [25]

попробуй так:
M.ContentType := ' text/html; charset=Windows-1251';


KilkennyCat   (2008-10-16 04:22:00) [26]

M.ContentType := 'text/plain; - это что?


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо