![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как вложить в тело письма html код? [D7, XP]
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; - это что?