小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

INDY收發(fā)郵件

 獨(dú)孤求財(cái) 2012-03-20

INDY收發(fā)郵件

時(shí)間:2011-5-26來(lái)源:yang 作者: peng點(diǎn)擊: 49次

[轉(zhuǎn)載來(lái)于ChenChuan 學(xué)習(xí)用]
從此流程可以看出,客戶向smtp服務(wù)器發(fā)出郵件后,由smtp服務(wù)器負(fù)責(zé)向收件人發(fā)出最終信件,這個(gè)過(guò)程由服務(wù)器完成,客戶無(wú)需操心??蛻羲P(guān)心的只是怎樣將郵件發(fā)送到smtp服務(wù)器上去。POP3更簡(jiǎn)單了,只需要正確登錄到POP3服務(wù)器上,再下載需要的郵件即可。

用Indy創(chuàng)建收發(fā)電子郵件的例子:

       1、創(chuàng)建工程,在窗體中加入IdSMTP1、IdMessage1和IdPOP31(Indy控件標(biāo)簽組)控件各一個(gè)。

       2、設(shè)置    IdSMTP1.Host := ‘SMTP.163.com‘;(我用的是163檢試,具體也可選擇其它服務(wù)器)    IdSMTP1.Username := ‘caoyan528‘;(此處即表示郵箱的賬號(hào)名,例如郵箱為:aaaaaa@163.com,則Username即為aaaaaa)    IdSMTP1.Password := ‘XXXXXXXX‘;(此處即為郵箱的密碼,如aaaaaa@163.com郵箱密碼為123456,則Password即為123456)。

      3、設(shè)置IdMessage1.From.Address := ‘caoyan_528@163.com‘;(注意,此處的郵箱地址應(yīng)在smtp.163.com中存在且就為以上設(shè)置的Username),IdMessage1.Recipients.EMailAddresses := ‘caoyan528@gmail.com’(此處表示收件人地址,只要是任何一個(gè)存在的郵箱地址即可)  IdMessage1.Subject:= ‘第一個(gè)郵件客戶端‘;(主題)具體源代碼如下:

procedure TForm1.Button4Click(Sender: TObject);
var
  filename : String;

  tmpEMailItem : TIdEMailAddressItem;
  // tmpEmailAdd :  TIdEmailAddressList;
begin
  try
    IdSMTP1.Host := ‘SMTP.163.com‘;

    IdSMTP1.AuthenticationType := atLogin; //保證登錄模式為L(zhǎng)ogin
    IdSMTP1.Username := ‘caoyan_528‘;
    IdSMTP1.Password := ‘XXXXXX‘;
    filename := ‘E:\郵件發(fā)送程序\2003-12-22_253_04.jpg‘;   //需要添加的附件文件
    TIdAttachment.Create(IdMessage1.MessageParts,filename);  //添加附件

   IdMessage1.From.Address := ‘caoyan_528@163.com‘;
    IdMessage1.Recipients.EMailAddresses:=‘caoyan528@gmail.com‘;

    tmpEMailItem := IdMessage1.Recipients.Add;  //添加一個(gè)地址列表

    tmpEMailItem.Text := ‘caoyan528@gmail.com‘; //寫一個(gè)收件人

    idMessage1.BccList.Add.Text := ‘caoyan_528@yahoo.com.cn‘;  //書寫多個(gè)目標(biāo)地址,實(shí)現(xiàn)群發(fā)

    idMessage1.BccList.Add.Text := ‘caoyan_528@163.com‘;  //書寫多個(gè)目標(biāo)地址,實(shí)現(xiàn)群發(fā)


    IdMessage1.Subject:= ‘第一個(gè)郵件客戶端‘;
    IdMessage1.Body.Text := Memo1.Text;   //此處為郵件正文

    IdMessage1.CharSet := ‘gb2312‘;  //保證附件正文漢字的正常顯示
    IdMessage1.Body.Assign(Memo1.Lines);  
    if IdSMTP1.AuthSchemesSupported.IndexOf(‘LOGIN‘)>-1 then
    begin
      IdSMTP1.AuthenticationType := atLogin; //連接前要保存為L(zhǎng)ogin  上面己設(shè),此處不必要
      IdSMTP1.Authenticate;
    end;

    IdSMTP1.Connect();  //連接SMTP服務(wù)器
    IdSMTP1.Authenticate;
    IdSMTP1.Send(IdMessage1);  //向服務(wù)器發(fā)送郵箱
  finally
    IdSMTP1.Disconnect;  //斷開與服務(wù)器的連接
  end;
end;

自此,memo1中所寫的內(nèi)容被當(dāng)作郵件發(fā)送了出去。而filename所指的附件也一同被發(fā)送到了服務(wù)器。

 

4、接收郵件

收以上的流程圖不難看出,接收郵件完全是POP3服務(wù)器來(lái)完成的,客戶只需連接到POP3服務(wù)器即可下載郵件。具體做法如下:

設(shè)置IdPOP31.Host := POP.163.com      IdPOP31.Username := ‘caoyan_528‘;       IdPOP31.Password:= ‘XXXXX‘;      (此處的設(shè)置與SMTP的設(shè)置相同)    源代碼如下:

procedure TForm1.Button5Click(Sender: TObject);
var
  mailcount : integer;
  i : integer;
  tmp : string;
begin
  IdPOP31.Connect();    //連接到POP3服務(wù)器
  mailcount := IdPOP31.CheckMessages;  //得到郵箱郵件的各數(shù)
  for i:=1 to mailcount do   //遍歷每一封郵件
  begin
     IdMessage1.Clear;
     IdPOP31.retrieveHeader(i,IdMessage1);  //得到郵件的頭信息
     tmp := IdMessage1.Subject;      //得到郵件的標(biāo)題
     Memo1.Lines.Add(tmp);
     IdPOP31.Retrieve(i,IdMessage1);  //接收到郵件所有內(nèi)容
     tmp := IdMessage1.Body.Text;   //郵件正文
     memo1.Lines.Add(tmp);
  end;
  IdPOP31.Disconnect;   //斷開連接
end;

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多