Добро пожаловать! Это — архивная версия форумов на «Хакер.Ru». Она работает в режиме read-only.
 

Отправка письма (delphi)

Пользователи, просматривающие топик: none

Зашли как: Guest
Все форумы >> [Компилируемые языки] >> Отправка письма (delphi)
Имя
Сообщение << Старые топики   Новые топики >>
Отправка письма (delphi) - 2012-04-29 23:45:58.616666   
}{aKir

Сообщений: 196
Оценки: 0
Присоединился: 2009-08-19 17:39:21.950000
Не могу написать программу для оправки письма с помощью delphi.Выдает ошибку в запущенной программе при нажатой кнопке.
Код ошибки
quote:

syntically invalid ehlo argument


Сам исходник.

Код исходника

quote:

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, IdMessage, IdAntiFreezeBase, IdAntiFreeze,
IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient,
IdMessageClient, IdSMTP;

type
TForm1 = class(TForm)
idsmtp2: TIdSMTP;
idntfrz1: TIdAntiFreeze;
idmsg1: TIdMessage;
btn1: TButton;
procedure btn1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}
procedure TForm1.btn1Click(Sender: TObject);
begin
idsmtp2.host:='smtp.list.ru';
idsmtp2.Port:=25;
idsmtp2.Username:='****';
idsmtp2.Password:='****';
idmsg1.Body.Text:='Tekst';
idmsg1.From.Text:='*****@list.ru';
idmsg1.Recipients.EMailAddresses:='******@mail.ru';
idmsg1.Subject:='Tema';
idsmtp2.Connect();
if idsmtp2.Connected=True then
idsmtp2.Send(idmsg1);
idsmtp2.Disconnect;
end;

end.


Брал отсюда.

Кто что может подсказать по этому поводу,может есть какие наработки в виде рабочего исходника,приму любую помощь/совет!?
Post #: 1
RE: Отправка письма (delphi) - 2012-04-30 09:58:14.373333   
namepunk

Сообщений: 2732
Оценки: 184
Присоединился: 2009-09-15 13:35:36.866666
Это ответ smtp сервера об ошибке. Проверь все аргументы (логин, пароль и т.д)
Post #: 2
RE: Отправка письма (delphi) - 2012-04-30 11:08:50.230000   
}{aKir

Сообщений: 196
Оценки: 0
Присоединился: 2009-08-19 17:39:21.950000
Спасибо namepunk.
Если делать все как в видео (Не менять сервер отправки),то все проходит,думаю в этом и была ошибка,я самоуверенно изменил его как я думал на правильный,а как оказалось нет)
И также нужно в поле idsmtp2.Username:=''; писать полный email , то есть idsmtp2.Username:='mama_mila_ramu@yandex.ru';

Сам код рабочий

quote:


unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, IdMessage, IdAntiFreezeBase, IdAntiFreeze,
IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient,
IdMessageClient, IdSMTP;

type
TForm1 = class(TForm)
idsmtp2: TIdSMTP;
idntfrz1: TIdAntiFreeze;
idmsg1: TIdMessage;
btn1: TButton;
procedure btn1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}
procedure TForm1.btn1Click(Sender: TObject);
begin
idsmtp2.host:='smtp.yandex.ru'; //Сервер откуда будем отправлять,советую завести почту на яндексе
idsmtp2.Port:=25; //Порт
idsmtp2.Username:='mama_mila_ramu@yandex.ru'; //email отправителя
idsmtp2.Password:='123654'; //Password
idmsg1.Body.Text:='Tekst'; //Текст письма
idmsg1.From.Text:='mama_mila_ramu@yandex.ru'; //От кого
idmsg1.Recipients.EMailAddresses:='email@mail.ru'; //Кому
idmsg1.Subject:='Tema'; //Тема письма
idsmtp2.Connect();
if idsmtp2.Connected=True then
idsmtp2.Send(idmsg1);
idsmtp2.Disconnect;
end;

end.


Если кому нужен готовый исходник.
Post #: 3
RE: Отправка письма (delphi) - 2012-05-01 00:03:10.510000   
shkolote attake

Сообщений: 268
Оценки: 0
Присоединился: 2010-10-19 05:37:44.873333
мало что понял в smtp…но зато программу написал!!!главное делать всё как на видео)))shkolote как всегда attake!!!
Post #: 4
Страниц:  [1]
Все форумы >> [Компилируемые языки] >> Отправка письма (delphi)







Связаться:
Вопросы по сайту / xakep@glc.ru

Предупреждение: использование полученных знаний в противозаконных целях преследуется по закону.