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

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

Заголовок в Indy 'корявый'


ddd329 ©   (2011-04-06 15:22:00) 

Отправляю письмо в Indy(Delphi 7), тело имеет нормальную кодировку, а вот заголовок нет, посмотрел похожие темы форума ничего толкого не нашел!
Вот пример:
class function TForm_Make_Email.Send_Email_2(fp_Senser, fp_Receiver,
 fp_Tema, fp_Email, fp_Path_File, fp_Login, fp_Password: string): boolean;
var
 IdAttachment1:TIdAttachment;
begin
DataModule1.IdMessage1.Subject:=fp_Tema;//в электронной почте русские буквы будут неправильными
DataModule1.IdMessage1.Body.Text:=fp_Email;
DataModule1.IdMessage1.From.Text:= fp_Senser;
DataModule1.IdMessage1.Recipients.Add.Text:=fp_Senser;
//SysUtils.SysLocale.PriLangID := LANG_RUSSIAN;
//IdMessage1.CharSet:='windows-1251';
if fp_Path_File<>'' then IdAttachment1:=TIdAttachment.Create(DataModule1.IdMessage1.MessageParts,fp_Path_ File);
DataModule1.IdSMTP1.AuthenticationType := atLogin;
DataModule1.IdSMTP1.Host:=fp_Receiver;
DataModule1.IdSMTP1.Username:=fp_Login;
DataModule1.IdSMTP1.Password:=fp_Password;
try
DataModule1.IdSMTP1.Connect();
except
Result:=false;
exit;
end;
try
if DataModule1.IdSMTP1.Connected then
 DataModule1.IdSMTP1.Send(DataModule1.IdMessage1);
except
Result:=false;
exit;
end;
Result:=true;
DataModule1.IdSMTP1.Disconnect;
end;


ddd329   (2011-04-07 16:09:00) [1]

Найду 10-ый, спасибо)


sniknik   (2011-04-07 15:59:00) [2]

обпечатка... по Фрейду. ;)


Игорь Шевченко   (2011-04-07 15:39:00) [3]


> у меня оправляется


LOL


sniknik   (2011-04-07 15:10:00) [4]

у меня оправляется с инди и все нормально... и русские имена файлов вкладываются (да других надо сказать и нет, по протоколу)...
не знаю важно это или нет но у меня 10й, последний официальный релиз...  (в 7ке по умолчанию 9ка).

> Нет времени разбираться в этих компонентах, а что исправить не знаю. Если знаете скажите, если не знаете зачем умничить?
знать то знают, но чтобы сказать, это нужно за тебя разобраться (+ догадаться о твоих глюках), пример, это надо писать... а у них времени нет.


Anatoly Podgoretsky   (2011-04-07 14:52:00) [5]

Если у тебя нет времени, то заплати и спи спокойно.


ddd329   (2011-04-07 14:47:00) [6]

Нет времени разбираться в этих компонентах, а что исправить не знаю. Если знаете скажите, если не знаете зачем умничить?


Dennis I. Komarov   (2011-04-07 14:14:00) [7]


> Понимаю, если бы привел пример, а потом бы сказал, что руки
> надо выпрямить.

Исходники открыты. Что мешает прямыми руками найти и исправить?


ddd329   (2011-04-07 13:53:00) [8]


> тебе и тому, кто советует переходить.
>
> Ни ты, ни автор поста [2] не являются единственными уникумами,
>  использующими Indy, пользователей Indy по миру - вагон
> и маленькая тележка.

Понимаю, если бы привел пример, а потом бы сказал, что руки надо выпрямить. А тогда че писал не понятно, бери пример с И. Павел[6]


Dennis I. Komarov   (2011-04-06 17:24:00) [9]


> Ни ты, ни автор поста [2] не являются единственными уникумами,
>  использующими Indy, пользователей Indy по миру - вагон
> и маленькая тележка.

Каждому свои грабли...


ddd329   (2011-04-06 17:10:00) [10]


> тебе и тому, кто советует переходить.

Ну тогда скажи как быть с заголовком? Где в коде что не так, из-за моих рук???


Игорь Шевченко   (2011-04-06 16:41:00) [11]


> Если кому и выпрямить, то точно не мне!


тебе и тому, кто советует переходить.

Ни ты, ни автор поста [2] не являются единственными уникумами, использующими Indy, пользователей Indy по миру - вагон и маленькая тележка.


Dennis I. Komarov   (2011-04-06 16:37:00) [12]

Отличный компонент TTcpClient :)
Идет в стандартной поставке, ничего лишнего. Сам использую.


И. Павел   (2011-04-06 16:28:00) [13]

> Павел можешь дать ссылку на компоненты, и пример кода как
> отправлять, если нетрудно?


Библиотека Synapse:
Вот их сайт: http://synapse.ararat.cz/doku.php
Вот пример:

procedure THDMesForm.OkClick(Sender: TObject);
var i, FileNum: integer;
   tmpMsg : TMimeMess;
   tmpStringList : TStringList;
   tmpMIMEPart : TMimePart;
begin
 ...

 tmpStringList := nil;
 tmpMsg := nil;
 try
   tmpStringList := TStringList.Create;
   tmpMsg := TMimeMess.Create;
   PHDSend.Visible := true;
   PHDSend.Refresh;

   tmpMsg.Header.Subject := HDHeader.Text;
   tmpMsg.Header.From := 'Reader@none.ru';
   tmpMsg.Header.ToList.Add('hd@kos.ru');

   tmpMIMEPart := tmpMsg.AddPartMultipart('mixed', nil);

   MesText.Lines.Add('');
   MesText.Lines.Add('Отправитель сообщения: ' + FIO);
   tmpStringList.Text := MesText.Text;
   tmpMsg.AddPartText(tmpStringList, tmpMIMEPart);

   ...

   for i := 0 to AnotherFiles.Count - 1 do
     tmpMsg.AddPartBinaryFromFile(AnotherFiles.Items[i], tmpMIMEPart);

   tmpMsg.EncodeMessage;
   smtpsend.SendToRaw('progr@none.ru', 'progr@mail.ru', 'mail.ru', tmpMsg.Lines, '', '');

   Close;
 finally
   tmpMsg.Free;
   tmpStringList.Free;

   PHDSend.Visible := false;
 end;
end;


Еще рекомендую ICS, особенно если нужно не просто отправить письмо но и детально управлять отправкой.


ddd329   (2011-04-06 16:16:00) [14]


> Или руки выпрямить. Тоже способствует

Если кому и выпрямить, то точно не мне! Не я же писал эти компоненты!!!

> Лично я долго мучился с ИНДИ. А альтернативные библиотеки
> сразу выдали нужный результат и без всяких заморочек.

Павел можешь дать ссылку на компоненты, и пример кода как отправлять, если нетрудно?


И. Павел   (2011-04-06 16:03:00) [15]


> Или руки выпрямить. Тоже способствует

Лично я долго мучился с ИНДИ. А альтернативные библиотеки сразу выдали нужный результат и без всяких заморочек.


> ddd329   (06.04.11 15:22)

Как вариант - можно еще попробовать обновить indy.


Игорь Шевченко   (2011-04-06 15:55:00) [16]


> Так что, ИМХО, лучше сразу перейти с Indy на что-нибудь
> другое.


Или руки выпрямить. Тоже способствует


И. Павел   (2011-04-06 15:48:00) [17]

Рекомендую ознакомиться с этой веткой:
http://www.delphimaster.ru/cgi-bin/forum.pl?id=1297153035&n=3

Проблему с заголовком, конечно, можно решить изменением кодировки, но потом пойдут проблемы с русскими именами прикрепленных файлов и т.д. Так что, ИМХО, лучше сразу перейти с Indy на что-нибудь другое.


Dennis I. Komarov   (2011-04-06 15:32:00) [18]

А оно надо? (я про инди)


Наверх

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