Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.01.2008, 14:54   #1
фЁдОр
Форумчанин
 
Аватар для фЁдОр
 
Регистрация: 06.09.2007
Сообщений: 908
По умолчанию отправка данных с edit'a на e-mail

Здравствуйте, уважаемые программисты!

Подскажите, пожалуйста, каким образом можно отправить данные с эдита на эл. почту?
В какую сторону мне нужно смотреть. Я просто, пока, вообще не могу представить как это можно реализовать.
фЁдОр вне форума Ответить с цитированием
Старый 06.01.2008, 15:20   #2
Карась
Участник клуба
 
Аватар для Карась
 
Регистрация: 26.10.2007
Сообщений: 1,244
По умолчанию

В соответсвующем разделе я встречал как минимум три темы где это обсуждали....

Самая вроде свежая http://programmersforum.ru/showthread.php?t=12034
Умом Россию не понять, пока не выпито ноль пять,
А если выпито ноль пять всё делом кажется не хитрым,
Попытка глубже понимать уже попахивает литром...
Карась вне форума Ответить с цитированием
Старый 06.01.2008, 15:28   #3
ben95
Новичок
Джуниор
 
Аватар для ben95
 
Регистрация: 22.12.2007
Сообщений: 204
По умолчанию

Отправка одного письма:

procedure TForm1.Button4Click(Sender: TObject);
begin
SMTP.Host:='mail.58r.ru'; // адрес почтового сервера
SMTP.Port:=25; // порт по которому будет осуществляться подключение
SMTP.Username:='test+58r.ru'; // логин пользователя
SMTP.Password:='12345666'; // пароль пользователя
SMTP.AuthenticationType:=atLogin; // тип подключения к серверу - с авторизацией
with IdMessage do
begin
Body.Assign(Memo1.Lines); // передача данных из memo в компонент IdMessage, для последующей отправки
From.Text := 'test@58r.ru'; // майл отправителя письма
Recipients.EMailAddresses := 'test@58r.ru'; // майл получателя письма
Subject := 'Programmersclub.ru'; // тема письма

end;

SMTP.Connect; // соединение с почтовым сервером
try
showmessage('Произошло подключение к серверу'); // сообщение о удачном подключении к серверу
SMTP.Send(IdMessage); // отправка письма на сервер
finally
SMTP.Disconnect; // разрыв соединения
end; end;
ben95 вне форума Ответить с цитированием
Старый 06.01.2008, 15:36   #4
фЁдОр
Форумчанин
 
Аватар для фЁдОр
 
Регистрация: 06.09.2007
Сообщений: 908
По умолчанию

Карась - я смотрел эту тему, но там речь об контроли(управлении) эл. ящиком. У меня же стоит другая задача: допустим моё приложение попадает какому-либо пользователю, а в моем приложение есть формачка, в которой данный пользователь может оставить информацию о себе, т.е. эта формачка состоит из нескольких эдитов, в которые пользователь вводит свою контакную информацию(Ф.И.О., адрес, телефон и т.д.), так вот, я и хочу бы эта информация приходила ко мне на почту.
фЁдОр вне форума Ответить с цитированием
Старый 06.01.2008, 15:39   #5
ben95
Новичок
Джуниор
 
Аватар для ben95
 
Регистрация: 22.12.2007
Сообщений: 204
По умолчанию

Цитата:
Сообщение от фЁдОр Посмотреть сообщение
Карась - я смотрел эту тему, но там речь об контроли(управлении) эл. ящиком. У меня же стоит другая задача: допустим моё приложение попадает какому-либо пользователю, а в моем приложение есть формачка, в которой данный пользователь может оставить информацию о себе, т.е. эта формачка состоит из нескольких эдитов, в которые пользователь вводит свою контакную информацию(Ф.И.О., адрес, телефон и т.д.), так вот, я и хочу бы эта информация приходила ко мне на почту.
я токо что отправел себе месагу самому себеб на майл(кстати с эдитом это чтото вроде угона пароля?))
Код:
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    SMTP: TIdSMTP;
    Button1: TButton;
    IdMessage1: TIdMessage;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
   SMTP.Host:='mail.58r.ru'; // àäðåñ ïî÷òîâîãî ñåðâåðà
   SMTP.Port:=25; // ïîðò ïî êîòîðîìó áóäåò îñóùåñòâëÿòüñÿ ïîäêëþ÷åíèå
   SMTP.Username:='test+58r.ru'; // ëîãèí ïîëüçîâàòåëÿ
   SMTP.Password:='12345666'; // ïàðîëü ïîëüçîâàòåëÿ
   SMTP.AuthenticationType:=atLogin; // òèï ïîäêëþ÷åíèÿ ê ñåðâåðó - ñ àâòîðèçàöèåé
   with IdMessage.
      begin
        Body.Assign(Memo1.Lines); // ïåðåäà÷à äàííûõ èç memo â êîìïîíåíò IdMessage, äëÿ ïîñëåäóþùåé îòïðàâêè
        From.Text := 'test@58r.ru'; // ìàéë îòïðàâèòåëÿ ïèñüìà
        Recipients.EMailAddresses := 'test@58r.ru'; // ìàéë ïîëó÷àòåëÿ ïèñüìà
        Subject := 'Programmersclub.ru'; // òåìà ïèñüìà

        end;

      SMTP.Connect; // ñîåäèíåíèå ñ ïî÷òîâûì ñåðâåðîì
         try
      showmessage('Ïðîèçîøëî ïîäêëþ÷åíèå ê ñåðâåðó'); // ñîîáùåíèå î óäà÷íîì ïîäêëþ÷åíèè ê ñåðâåðó
      SMTP.Send(IdMessage); // îòïðàâêà ïèñüìà íà ñåðâåð
         finally
           SMTP.Disconnect; // ðàçðûâ ñîåäèíåíèÿ
         end; end;

end.
ben95 вне форума Ответить с цитированием
Старый 06.01.2008, 15:50   #6
Карась
Участник клуба
 
Аватар для Карась
 
Регистрация: 26.10.2007
Сообщений: 1,244
По умолчанию

Цитата:
Сообщение от фЁдОр Посмотреть сообщение
Карась - я смотрел эту тему, но там речь об контроли(управлении) эл. ящиком. У меня же стоит другая задача: допустим моё приложение попадает какому-либо пользователю, а в моем приложение есть формачка, в которой данный пользователь может оставить информацию о себе, т.е. эта формачка состоит из нескольких эдитов, в которые пользователь вводит свою контакную информацию(Ф.И.О., адрес, телефон и т.д.), так вот, я и хочу бы эта информация приходила ко мне на почту.
Дык ты по ссылке ходил? Там во втором посте есть ссылка где рассматривают отправку письма.

http://programmersclub.ru/alar-pochovik
Умом Россию не понять, пока не выпито ноль пять,
А если выпито ноль пять всё делом кажется не хитрым,
Попытка глубже понимать уже попахивает литром...
Карась вне форума Ответить с цитированием
Старый 06.01.2008, 18:00   #7
фЁдОр
Форумчанин
 
Аватар для фЁдОр
 
Регистрация: 06.09.2007
Сообщений: 908
По умолчанию

Ребят, что-то я не могу разобраться, ходил я и по ссылке и даже внизу исходник скачал (я там изменил свой емаил, порт, логин и пароль), но так и не смог отправить сообщение:
Код:
procedure TForm1.Button1Click(Sender: TObject);
 begin
 POP3.Host:='пишу свой емаил'; // адресс почтового сервера
 POP3.Port:=пишу свой порт;           // порт по которому будет осуществляться подключение
 POP3.Username:='пишу свой логин'; // Логин пользователя
 POP3.Password:='пишу свой пароль';   // пароль пользователя
 IdMessage.Clear; // очистка буфера для сообщения
 POP3.Connect; // подключение по протоколу POP3, по настрокам в компоненте IdPOP3, с именем POP3
 Memo1.Clear;   // очистка компонента memo для отображения текста письма.
 POP3.Retrieve(1,IdMessage);  // получение одного сообщения
 Memo1.Lines.AddStrings(IdMessage.Body); // передача сообщения из компонента IdMessage в memo
 POP3.Delete(1); // удаление с сервера, полученного сообщения
 POP3.Disconnect;   // разрыв связи
end;
поправьте, пожалуйста, что может быть не так?
фЁдОр вне форума Ответить с цитированием
Старый 19.03.2009, 16:11   #8
eldar
Форумчанин
 
Аватар для eldar
 
Регистрация: 04.08.2008
Сообщений: 154
Радость


POP3 это протокол входящей почты
SMTP это протокол исходящей почты
если вам требуеться отправить письмо вам надо использовать протокол smtp

фЁдОр
ben95 правильно вам написал только одно не правильно надо не SMTP.Host:='mail.58r.ru';
а IdSMTP1.Host :=( 'mail.58r.ru');

Вот код
Код:
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    IdSMTP1: TIdSMTP;
    Button1: TButton;
    Edit1: TEdit;
    IdMessage1: TIdMessage;
    Memo1: TMemo;

    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}


procedure TForm1.Button1Click(Sender: TObject);
begin
IdSMTP1.Host := edit1.Text; // àäðåñ ïî÷òîâîãî ñåðâåðà
 idSMTP1.Port:=(25); // ïîðò ïî êîòîðîìó áóäåò îñóùåñòâëÿòüñÿ ïîäêëþ÷åíèå
idSMTP1.Username:=('test+58r.ru'); // ëîãèí ïîëüçîâàòåëÿ
idSMTP1.Password:=('12345666'); // ïàðîëü ïîëüçîâàòåëÿ
idSMTP1.AuthenticationType:=atLogin; // òèï ïîäêëþ÷åíèÿ ê ñåðâåðó - ñ àâòîðèçàöèåé
with IdMessage1 do
begin
Body.Assign(Memo1.Lines); // ïåðåäà÷à äàííûõ èç memo â êîìïîíåíò IdMessage, äëÿ ïîñëåäóþùåé îòïðàâêè
From.Text := 'test@58r.ru'; // ìàéë îòïðàâèòåëÿ ïèñüìà
Recipients.EMailAddresses := 'test@58r.ru'; // ìàéë ïîëó÷àòåëÿ ïèñüìà
Subject := 'Programmersclub.ru'; // òåìà ïèñüìà

end;

idSMTP1.Connect; // ñîåäèíåíèå ñ ïî÷òîâûì ñåðâåðîì
try
showmessage('Ïðîèçîøëî ïîäêëþ÷åíèå ê ñåðâåðó'); // ñîîáùåíèå î óäà÷íîì ïîäêëþ÷åíèè ê ñåðâåðó
idSMTP1.Send(IdMessage1); // îòïðàâêà ïèñüìà íà ñåðâåð
finally
idSMTP1.Disconnect; // ðàçðûâ ñîåäèíåíèÿ
end; end;


end.

Последний раз редактировалось eldar; 19.03.2009 в 16:31.
eldar вне форума Ответить с цитированием
Старый 09.05.2009, 18:22   #9
yulia
Форумчанин
 
Аватар для yulia
 
Регистрация: 24.03.2007
Сообщений: 314
По умолчанию

А у меня данный код вообще никаких дествий не выполняет.. (( Не подскажите почему ...

Код:
idSMTP1.AuthenticationType:= atLogin;

  IdSMTP1.Host:=('smtp.rambler.ru'); // адресс почтового сервера
  IdSMTP1.Port:=(25);    // порт по которому будет осуществляться подключение
  IdSMTP1.Username:=('мой логин);  // свой логин на xxx@mail.ru
  IdSMTP1.Password:=('мой пароль');     // свой пароль на xxx@mail.ru
// IdSMTP1.AuthType:=atLogin;
  with IdMessage1 do
      begin
      Body.Add('У вас задолженность в библиотеке');  // Отправляем текст из TMemo
      From.Name:='Библиотека'; // Своё имя
      From.Address:= 'мой адрес@rambler.ru'; // От кого письмо
      Recipients.EMailAddresses :='кому@inbox.ru'; // адрес кому отправляем
      Subject := 'Задолженность'; // тема письма
      end;
         try
      IdSMTP1.Connect;
       except
     ShowMessage('Невозможно подключится ');


   try
   IdSMTP1.Send(IdMessage1);
   finally
      IdSMTP1.Disconnect;
   showmessage('Данные отправленны .');
   end;
end;

Точнее он работает, но только при нажатии на кнопку, а при FormCreate не хочет....

Последний раз редактировалось yulia; 09.05.2009 в 18:45.
yulia вне форума Ответить с цитированием
Старый 08.12.2011, 21:09   #10
ufo2117
Новичок
Джуниор
 
Регистрация: 08.12.2011
Сообщений: 1
По умолчанию проблема!!!

помогите исправить код. Мне нужна программа которая будет отправлять текст на емаил помогите плиз. заранее спасибо!!!


idsmtp1.host:='smtp.yandex.ru';
idsmtp1.Port:=25;
idsmtp1.username:='uffo21';
idsmtp1.Password:='пароль от почты';
idmessage1.body.text:='test pismo';
idmessage1.From.Text:='uffo21@yande x.ru';
idmessage1.recipients.EMailAddresse s:='CB.ololo@yandex.ru';
idmassege{здесь выдает ошибку}1.subject:='tema';

idsmtp1.Connect();
idsmtp1.send(idmessage1);
idsmtp1.Disconnect;

Последний раз редактировалось ufo2117; 08.12.2011 в 21:15.
ufo2117 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
отправка e-mail с помощью сокетов andrey4623 PHP 3 27.06.2008 13:20
отправка данных на php скрипт papa_serg Работа с сетью в Delphi 2 10.04.2008 10:56
Отправка e-mail через JavaScript Gambler Общие вопросы по Java, Java SE, Kotlin 1 30.05.2007 14:03
Delphi 2005 и отправка E-mail Nez Общие вопросы Delphi 5 13.02.2007 13:53