Форум: "Сети";
Текущий архив: 2002.07.15;
Скачать: [xml.tar.bz2];
ВнизКак обойти ошибку ? Найти похожие ветки
← →
Lizard (2002-05-02 22:12) [0]Помогите обойти ошибку.
Суть в следующем. Программа должна отправить письмо по почте (вроде простого мэйлера).
Все поля правильно заполнены, адреса отправителя и получателя существуют в
действительности, smtp-сервер указан верно (smtp.mail.ru), к письму могут быть приаттачены файлы и т.д. Но программа работает через раз, то все как положено отправляет, то
выходит сообщение об ошибке:
Project Program1.exe raised exception class ESockError with message
"10054:Connection reset by peer". Process stoped. Use Step or Run to continue.
Очень прошу просветить меня в чем же ошибка и, если можно, на примере.
И если она неизбежна, то прошу помочь мне создать какое-нибудь событие на появление ошибки, т.е. чтобы программа не висла.
Привожу часть программы:
NMSMTP1.Port:= 25;
NMSMTP1.UserID:="Predok";
NMSMTP1.Host:="smtp.mail.ru";
NMSMTP1.Connect;
NMSMTP1.PostMessage.FromAddress:="abc@mail.ru";
NMSMTP1.PostMessage.FromName:="Lizard";
NMSMTP1.PostMessage.ToAddress.Add("klm@mail.ru");
NMSMTP1.PostMessage.Subject:="Subject";
NMSMTP1.PostMessage.LocalProgram:="The Bat!";
NMSMTP1.PostMessage.Attachments.Text:=Memo1.lines[k];
NMSMTP1.SendMail;
NMSMTP1.Disconnect;
Заранее благодарен всем кто отзовется.
← →
Reals (2002-05-03 10:06) [1]Здравствуйте!
Вообще-то, насколько мне известно на своих ошибках, то SMTP должен указываться твоего провайдера, через которого ты выходишь в Инет, а не какого-то там другого далеко удаленного сервера например mail.ru.
Ну а чтобы обработать исключительную ситуацию то просто:
try
NMSMTP1.SendMail;
except
ShowMessage("Error!");
end;
С Уважением...
← →
Reals (2002-05-03 10:09) [2]в догонку...
мне еще кажеться что там можно и так (точно не припомню):
if NMSMTP1.SendMail then ShowMessage("Sent")
else ShowMessage("Error!");
С Уважением...
← →
Song (2002-05-03 10:36) [3]Вообще-то, насколько мне известно на своих ошибках, то SMTP должен указываться твоего провайдера, через которого ты выходишь в Инет, а не какого-то там другого далеко удаленного сервера например mail.ru.
Ерунда.
2Lizard (02.05.02 22:12)
Вы отправляете случайно не через сеть? (в смысле что модем подсоединён не напрямую к Вашему компу)
← →
Севостьянов Игорь (2002-05-07 12:00) [4]У меня вот написан Mail Agent, который отсылает письма через указанный smtp сервер (smtp.yandex.ru) и все путем...
Вот кусок кода ...
type
TfrmEMailAgent = class(TForm)
edtInerval: TNumberEdit;
mmoStatus: TMemo;
emlSend: TNMSMTP;
edtFromName: TEdit;
edtFromAddress: TEdit;
edtSubject: TEdit;
mmoBody: TMemo;
edtToAddress: TEdit;
lblFrom: TLabel;
edtSMTPServer: TEdit;
cboUnit: TComboBox;
----------------------------------
function TfrmEMailAgent.SendLetter: Boolean;
begin
Screen.Cursor := crHourGlass;
Result := False;
with emlSend do
begin
ClearParameters;
Host := Trim(edtSMTPServer.Text);
with PostMessage do
begin
Subject := Trim(edtSubject.Text);
FromName := Trim(edtFromName.Text);
FromAddress := Trim(edtFromAddress.Text);
ReplyTo := FromAddress;
ToAddress.Clear;
ToAddress.CommaText := ReplaceStr(Trim(edtToAddress.Text), ";", ",");
//ToAddress.Add(Trim(edtToAddress.Text));
Body.Clear;
Body.AddStrings(mmoBody.Lines);
end;
WriteStatus("Ожидайте... Отправка письма");
try
if not Connected then Connect;
if Connected then
begin
SendMail;
Result := True;
WriteStatus("Письмо отправлено");
end
else
begin
WriteStatus("Ошибка: нет соединения с сервером");
Screen.Cursor := crDefault;
Exit;
end;
except on E: Exception do
begin
WriteStatus("Письмо не отправлено");
ShowErrorMessage(Self, E);
end;
end;
// if Connected then Disconnect;
end;
Screen.Cursor := crDefault;
end;
----------------------------------
object emlSend: TNMSMTP
Port = 25
ReportLevel = 0
EncodeType = uuMime
ClearParams = True
SubType = mtPlain
Charset = "x-cp1251"
end
← →
Новохатский А.Д. (2002-05-07 15:29) [5]Я вот столкнулся с тем, что у меня "карябузи" вместо русских букв идут в полях From, To, Subject.
Сервер мой почтовый - MS Exchange. Кодировка на нем стоит KOI8-R. На клиенте (MS Outlook) - тоже KOI8-R.
Сообщение приходит в такм виде:
"В сообщении используется набор символов, не поддерживаемый службой Internet Mail. Для просмотра исходного текста откройте вложенное сообщение"...
проперти emlSend: TNMSMTP
Charset ставлю windwes-1251, так как больше ничего не проходит. В этом случает текст (body) приходит нормальным. Но вот что с вышенаписанными полями сделать? Может клуджи какие-то нужно еще вставлять?
Страницы: 1 вся ветка
Форум: "Сети";
Текущий архив: 2002.07.15;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.01 c