![]() |
|
Модераторы: Snowy, Poseidon, MetalFan |
![]()
|
|
| Snowy |
|
||||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 53 Всего: 484 |
nil - указатель на ничто. Применяется либо для зануления указателей (если присваиваем переменной), либо как параметр (когда хотим указать, что мы не собираемся ни на что указывать). with - используется зля укорачивания кода. Этим словом мы указываем, что будем работать со свойствами данного объекта. Например
Оттуда и взялась, что тут ты указал, что зовут ее так. Это обработка исключительных ситуаций. Почитай в хелпе. Создается класс-исключение. Чтобы получить его текст вручную, а не ловить стандартное окно об ошибке и требуется такая конструкция. |
||||||
|
|||||||
| Неизвестный программист |
|
|||
|
Unregistered |
Когда я убираю "try" из такого фрагмента:
// deliver message with TIdSMTP.Create(nil) do try Host := smtpServer; if (authUsername <> '') then begin AuthenticationType := atLogin; Username := authUsername; Password := authPassword; end; Connect; Send(msg); finally Free; end; мне почему-то говорят: Undeclared identifier: 'AuthType' Undeclared identifier: 'Username' Undeclared identifier: 'Password' Undeclared identifier: 'Connect' Undeclared identifier: 'Send' Undeclared identifier: 'Free' Ведь "try" же управляет обработкой исключительных ситуаций? Почему тогда удаление "try" так повлияло на все остальное? |
|||
|
||||
| _hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: 5 Всего: 98 |
потома как ты begin забыл дописать и with начинает влиять только на первую строку
-------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
| Guest |
|
|||
|
Unregistered |
Loquerisne Latine??? |
|||
|
||||
| Неизвестный программист |
|
|||
|
Unregistered |
А как бы сделать так,чтобы почтовые компоненты кодировку не трогали?У меня PHP-скрипт на локальном сервере в заголовок письма вставляет "Content-Type: text/html;charset=windows-1251",а когда письмо доходит,в нем почему-то остается только "Content-Type:text/html".И тема письма становится такой: ?KOI8-R?B?0uXs4A==?=
|
|||
|
||||
| <Spawn> |
|
|||
![]() Око кары:) ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2776 Регистрация: 29.1.2003 Где: Екатеринбург Репутация: 1 Всего: 64 |
Модератор: Пожалуйста, один топик - один вопрос.
Попробуй установить кодировку в TidMessage.CharSet Это сообщение отредактировал(а) <Spawn> - 2.4.2005, 07:03 -------------------- "Для некоторых людей программирование является такой же внутренней потребностью, подобно тому, как коровы дают молоко, или писатели стремятся писать" - Николай Безруков. |
|||
|
||||
| Guest |
|
|||
|
Unregistered |
Так я же не могу заранее знать,какая у всех писем кодировка!Нельзя ли сделать так,чтобы сообщение из стандартного ввода отсылалось таким,какое оно есть? Или может быть,есть другой способ отправки почты?Через сокеты например?А то в этих компонентах,я вижу,какой-то непродуманный способ формирования и отсылки писем применяется. |
|||
|
||||
| Неизвестный программист |
|
|||
|
Unregistered |
Или сделать так,чтобы заголовки сообщения не изменялись.
|
|||
|
||||
| Snowy |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 53 Всего: 484 |
После msg := TIdMessage.Create(nil); Добавь msg.NoEncode:=true; P.S. Зарегестрируйся. Добавлено @ 07:10
Не изменялись? Они создаются с нуля. Но если тебе так важны заголовки, то удаляй ненужные из msg.HeaderList и добавляй свои. (Если удаляешь все - то на твой страх и риск - там ведь адреса откуда-куда прописаны). HeaderList - это TStringList, в котором находятся строки заголовка. Дополнительно есть msg.ExtraHeaders - дополнительные заголовки, но на настройки они не влияют. |
||||
|
|||||
| Неизвестный программист |
|
||||||
|
Unregistered |
Попробовал msg.NoEncode:=true. Письма стали приходить в нормальном виде,но почему-то не работает добавка заголовков в письмо.Например,конструкция типа: if (Msg.From.Address = '') then if (defaultFrom = '') then raise Exception.Create('email is missing sender''s address') else msg.From.Address := defaultFrom; Почему-то defaultFrom не подстанавливается на место обратного адреса,если его нет. Заголовки важны для указания кодировки письма.Кроме того,название темы менялось на ?koi-8? и т. д. Заголовки не с нуля формируются,а подаются на ввод программы в готовом виде,например,серверным скриптом. а как можно управлять заголовками через msg.HeaderList?Я и не собираюсь их все удалять - наоборот хочу оставить все как есть,и добавить,если каких-то не достает (дата,обратный адрес). |
||||||
|
|||||||
| Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 53 Всего: 484 |
Если заголовок уже готов - не нужно подставлять всякие адреса от кого-кому - они уже в заголовке должны быть. Просто чисти хедерлист и заполняй его своим. |
|||
|
||||
| Неизвестный программист |
|
|||
|
Unregistered |
А можно пример?Как работать с msg.headerlist.Между прочим,я нашел только msg.header,а IdHeaderList - отдельный компонент. |
|||
|
||||
| Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 53 Всего: 484 |
Ну да. Параметр называется header. TIdHeaderList - это класс.
header это как раз и есть параметр класса THeaderList. А работать с ним нужно почти так же, как и с обычным TStringList. Разница только в том, что добавление идет не через Add, а через AddStdValues. Причем параметр обязательно должен быть вида [email protected] То есть параетр=значение.
|
|||
|
||||
| Неизвестный программист |
|
|||
|
Unregistered |
Я написал вот так:
if (msg.Headers.Values['From'] = '') then msg.Headers.Values['From'] := defaultFrom; но мне в лог-файле сказали "Bad sequence of commands". Что это значит? И вообще в каких случаях такая надпись появляется? |
|||
|
||||
![]()
|
| Правила форума "Delphi: Сети" | |
|
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делится вскрытыми компонентами
Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Snowy, Poseidon, MetalFan. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Сети | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |