Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.10.02;
Скачать: CL | DM;

Вниз

Помогите отправить почту!!   Найти похожие ветки 

 
userrrrr   (2005-08-23 20:59) [0]

помогите отправить писмо! рисую на форме IdSMTP, IdMessage и кнопку по нажатии на кнопку пишу
procedure TForm1.Button1Click(Sender: TObject);
var
Msg: TIdMessage;
begin
Msg.Subject:="тема сообщения";                
Msg.Recipients.EMailAddresses:="qwerty@front.ru";
Msg.From.Adress:="qwerty@front.ru";            
Msg.Body.Text:="текст сообщения";
IdSMTP1.Port:=25;
IdSMTP1.Host := "mail.pochta.ru";
IdSMTP1.AuthenticationType:=atLogin;
IdSMTP1.Username:="qwerty";
IdSMTP1.Password:="qwerty";
IdSMTP1.Connect(500);
if IdSMTP1.Connected
then  IdSMTP1.Send(Msg);
end;
программа компилируется без проблем но потом возникает ошибка если сделать Trace into то это на строчке Msg.Subject:="тема сообщения"; если её убрать то потом на Msg.Recipients.EMailAddresses:="qwerty@front.ru"; если убрать все описание Msg то к smtp oн коннектится но письмо все равно не отправляется...


 
Eraser ©   (2005-08-23 21:08) [1]

вставь вначале кода эту строку Msg := TIdMessage.Create;
...
не забудь потом освободить объект с пом. метода Free.


 
userrrrr   (2005-08-24 13:22) [2]

пишу Msg := TIdMessage.Create; а он мне Not enough actual parameters


 
stone ©   (2005-08-24 13:31) [3]


> userrrrr   (24.08.05 13:22) [2]
> пишу Msg := TIdMessage.Create; а он мне Not enough actual
> parameters

Конечно
TIdMessage.Create(Owner: TObject);


 
userrrrr   (2005-08-24 13:37) [4]

Owner: TObject это что???


 
stone ©   (2005-08-24 13:45) [5]


> userrrrr   (24.08.05 13:37) [4]
> Owner: TObject это что???

Указатель на владельца объекта, т.е. объект, при уничтожении которого твой TIdMessage будет автоматически уничтожен. В твоем случае им может являться форма (Form1). Соответствнно будет:
Msg := TIdMessage.Create(Form1);


 
userrrrr   (2005-08-24 14:15) [6]

спасибо а как освободить объект с пом. метода Free и зачем?


 
stone ©   (2005-08-24 14:25) [7]


> userrrrr   (24.08.05 14:15) [6]
> спасибо а как освободить объект с пом. метода Free и зачем?

Обычно это делается так:
Msg := TIdMessage.Create(Form1);
try
 ... действия
finally
 Msg.Free;
end;


 
userrrrr   (2005-08-24 16:50) [8]

try finally обязательно? зачем это вообще надо и что означает? у меня подряд вроде работает:
Msg := TIdMessage.Create(Form1);
Msg.Subject:="тема";
...................
if IdSMTP1.Connected
а как присоеденить аттачмент из нескольких файлов вроде так но так только один файл
TIdAttachment.Create(Msg.MessageParts,"c:\file");
и можно ли какнибудь полегче средствами delphi их сжать?


 
userrrrr   (2005-08-24 20:59) [9]

ктонибудь ответит на мой вопрос пожалуйста!
msg.free; он пишет missing operator or semicolon


 
userrrrr   (2005-08-24 23:37) [10]

ну помогите-же...


 
Наиль ©   (2005-08-25 01:03) [11]

>[9]
Перевод: не хватает точки с запятой в предыдущей строчке.
>[8]
try finally нужно писать тогда, когда не может предсказать появление ошибки.
в данном случае, на чужой почтовый сервер ты повлиять не можешь, а значит нужно защищаться от ошибок, которые он может (но не обязан) вызвать в твоей программе.


 
zx ©   (2005-08-25 12:19) [12]

> userrrrr
Попробуй TNMSMTP он проще и легче.



Страницы: 1 вся ветка

Текущий архив: 2005.10.02;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.043 c
14-1126038981
syte_ser78
2005-09-07 00:36
2005.10.02
глюк nokia 3410


3-1124700573
rentgen
2005-08-22 12:49
2005.10.02
Можно, запрашивать данные с нескольких баз?


8-1115847880
st.andrew
2005-05-12 01:44
2005.10.02
AVI=>BMP


1-1126292256
lordalexander
2005-09-09 22:57
2005.10.02
Блок


14-1125997277
Udaff
2005-09-06 13:01
2005.10.02
Электронные книги