Delphi [Soru]
-
Merhaba hocalar...
Edit.Box lara yazılan yazıların Button a tıklandığı anda benim e-mail adresime yollanmasını nasıl sağlayabilirim?
-
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, IdBaseComponent, IdComponent, IdTCPConnection,
IdTCPClient, IdMessageClient, IdPOP3, IdMessage, ComCtrls, ImgList,
XPMenu, Buttons;
type
TForm1 = class(TForm)
GroupBox1: TGroupBox;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
IdPOP31: TIdPOP3;
Label4: TLabel;
Label5: TLabel;
Button1: TButton;
Button2: TButton;
ListView1: TListView;
IdMessage1: TIdMessage;
Button3: TButton;
GroupBox2: TGroupBox;
Edit4: TEdit;
Edit5: TEdit;
Edit6: TEdit;
Edit7: TEdit;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
Label9: TLabel;
ListBox1: TListBox;
SaveDialog1: TSaveDialog;
Button4: TButton;
Memo1: TMemo;
Button5: TButton;
ImageList1: TImageList;
XPMenu1: TXPMenu;
SpeedButton1: TSpeedButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure ListView1Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure Edit3KeyPress(Sender: TObject; var Key: Char);
procedure SpeedButton1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
uses Unit2;
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var
adet,Boyut:integer;
begin
(*if (edit1.text='')or(edit2.Text='') or(edit3.text='')
then MessageDlg('Boş Alanları Doldurunuz!', mtWarning, [mbOK], 0)
else
begin
IdPOP31.Reset;
end; *) // Boş alanları sorgulama
IdPOP31.Host:=Edit1.Text;
IdPOP31.UserId:=Edit2.Text;
IdPOP31.Password:=Edit3.Text;
try
IdPOP31.Connect;
Label5.Font.Color:=clBlue;
Label5.Caption:='Bağlandı';
SpeedButton1.Enabled:=True;
Button2.Enabled:=True;
Button1.Enabled:=False;
adet:=IdPOP31.CheckMessages;
Boyut:=IdPOP31.RetrieveMailBoxSize div 1024;
Label5.Caption:=IntToStr(adet)+' yeni mesaj var ' + IntToStr(Boyut) + 'kb';
except
Label5.Font.Color:=ClRed;
Label5.Caption:='Bağlantı Sağlanamadı';
end;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
if not IdPOP31.Connected then Label5.Caption:='Zaten Bağlı Değil'
else
IdPOP31.Disconnect;
Button2.Enabled:=False;
Button1.Enabled:=True;
end;
procedure TForm1.Button3Click(Sender: TObject);
var
i,adet,boyut:integer;
begin
adet:=IdPOP31.CheckMessages;
if adet=0 then
begin
Label5.Font.Color:=ClRed;
Label5.Caption:='Yeni Mesajınız Bulunmamaktadır';
exit;
end;
ListView1.Clear;
For i:=1 to adet do
begin
IdMessage1.Clear;
IdPOP31.RetrieveHeader(i,IdMessage1);
with ListView1.Items.Add do
begin
Caption:=IdMessage1.Subject;
SubItems.Add(IdMessage1.From.Text);
SubItems.Add(DateToStr(IdMessage1.Date));
SubItems.Add(IntToStr(IdPOP31.RetrieveMsgSize(i))) ;
end;
end;
end;
procedure TForm1.ListView1Click(Sender: TObject);
var
i:integer;
begin
if ListView1.Selected=nil then exit;
IdMessage1.Clear;
IdPOP31.Retrieve(ListView1.Selected.Index + 1 ,IdMessage1);
Caption:=IntToStr(ListView1.Selected.Index);
Edit4.Text:=IdMessage1.From.Text;
Edit5.Text:=IdMessage1.CCList.EMailAddresses;
Edit6.Text:=DatetimeTostr(IdMessage1.Date);
Edit7.Text:=IdMessage1.Subject;
ListBox1.Items.Clear;
for i:= 0 to Pred(IdMessage1.MessageParts.Count) do
if (IdMessage1.MessageParts.Items[i] is TIdAttachment) then
ListBox1.Items.Add(TIdAttachment(IdMessage1.Messag eParts.Items[i]).FileName)
else
if IdMessage1.MessageParts.Items[i] is TIdText then
begin
Memo1.Lines.Clear;
Memo1.Lines.AddStrings(TIdText(IdMessage1.MessageP arts.Items[i]).Body);
end;
end;
procedure TForm1.Button4Click(Sender: TObject);
var
i:integer;
begin
for i:=0 to IdMessage1.MessageParts.Count - 1
do
if IdMessage1.MessageParts[i] is TIdAttachment then
begin
SaveDialog1.FileName:=TIdAttachment(IdMessage1.Mes sageParts.Items[i]).FileName;
if SaveDialog1.Execute then
TIdAttachment(IdMessage1.MessageParts.Items[i]).SaveToFile(SaveDialog1.FileName);
end;
end;
procedure TForm1.Button5Click(Sender: TObject);
begin
if ListView1.Selected <> nil then
begin
IdPOP31.Delete(ListView1.Selected.Index + 1);
ListView1.Selected.Delete;
end;
end;
procedure TForm1.Edit3KeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then Button1.SetFocus;
end;
procedure TForm1.SpeedButton1Click(Sender: TObject);
begin
Form2.ShowModal;
end;
end.
Componentler gayet acık ama biraz ugrastırabilir :/
-
ö.m il msn vermen mümkün mü çok bıdı bıdı yapmam :)
-
manyaki. bi tane form mail bul netten. onu bi hosta upload et. ardından idhttp compodentini kullanarak editteki bilqilerinni hosta post et. bu kadar :)