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

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

послать письмо на почту от... [D7, WinXP]


Addead ©   (2003-11-02 18:21:00) 

Вот проблема:
Соединение модемное.
Задача: послать письмо (текст из Memo1) на почту "Try@rambler.ru" без использования почтовой программы
от лица "From@rambler.ru" с паролем "111".

на форме:

MailMessage: TIdMessage;
Mail: TIdSMTP;

так вот при нажитии на кнопку отправки (при коннекте) пишет "Socket error".
Может что-то заполнено не верно?!
Вот код:

//---------------------------------
begin

Mail.Host := "rambler.ru";
Mail.Username := "From@rambler.ru";
Mail.Password := "111";
Mail.AuthenticationType := "atLogin";
Mail.Connect; //тут вот "Socket error"

try
MailMessage.From.Name := "OMAL";
MailMessage.Subject := "TEST";
MailMessage.Body.SetText (Memo1.Lines.GetText);

Application.ProcessMessages;
MailMessage.Recipients.EMailAddresses := "Try@rambler.ru";
Mail.Send(MailMessage);

finally
Mail.Disconnect;
end;

end;
//---------------------------------

Я с Indy только начал разбираться...
Помажите, кто чем...


SkyN   (2003-11-03 10:31:00) [1]

используя ICS (хотя какая разница) библиотеку, делаю так:

...
SmtpClient.Port := ini.ReadString("SMTP","Port","smtp");
SmtpClient.Host := ini.ReadString("SMTP","Host","");
SmtpClient.HdrFrom := ini.ReadString("SMTP","From","");
SmtpClient.HdrTo := ini.ReadString("SMTP","To","");
SmtpClient.HdrSubject := ini.ReadString("SMTP","Subject","");
SmtpClient.RcptName.Add(SmtpClient.HdrTo);
SmtpClient.EmailFiles.Add(ArhFileName+".rar");
SmtpClient.Connect;
...

procedure TForm1.SmtpClientRequestDone(Sender: TObject; RqType: TSmtpRequest;
ErrorCode: Word);
begin
if ErrorCode <> 0 then SmtpClient.Quit;
else case RqType of
smtpConnect: SmtpClient.Helo;
smtpHelo: SmtpClient.MailFrom;
smtpMailFrom: SmtpClient.RcptTo;
smtpRcptTo: SmtpClient.Data;
smtpData: SmtpClient.Quit;
smtpQuit: Application.Terminate;
end;
end;


Alexey Leonchik   (2003-11-03 05:20:00) [2]

Думаю вот в этой строке ошибка :) не синтаксиса - нет. Просто на Rambler-e нужно почитать - у них SMTP сервер наверно smtp.rambler.ru, а POP3 pop.rambler.ru а когда машина соединяется на 25-й порт, а там такого нет - вот и socket error :))

И еще сейчас почти все SMTP сервера бесплатной почты требуют аутентификацию перед отправкой иначе ЛЮБОЙ с любого хоста сможет почту релеить а это СПАМ, так что скорее всего вам еще и аутентификацию пройти придется :)))

Mail.Host := "rambler.ru";

P.S. Извините, если не помогло - я с виндовозом мало работал

С уважением Алексей Леончик


Addead   (2003-11-03 00:24:00) [3]

ап


Наверх

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