delphi 7發送個郵件通常用到TIdSMTP與TIdMessage這兩個組件,他們分別在Indy Clients和Indy Misc兩個面板組件頁內,或者經過菜單 View -> Component List裏面直接輸入控件名字查找控件。web
通常的郵件發送用到前兩個控件就能夠了,可是如今許多郵箱須要經過SSL加密來發送郵件,這樣還須要一個控件TIdSSLIOHandlerSocket( Indy I/O Handler 頁面)和一個SSL的Dll服務器
的支持,ssl dll下載地址:ssllib.rar 或者 http://download.csdn.net/detail/webouse/708572 函數
dll使用方法:將下載的dll文件解壓放到 程序 的目錄下便可。測試
代碼以下:加密
procedure TForm1.btn_SendClick(Sender: TObject); var filename: string; begin //發送郵件主函數 try IdSSLIOHandlerSocket1.SSLOptions.Method:=sslvSSLv3; IdSMTP1.IOHandler:= IdSSLIOHandlerSocket1; //區別在這兒喲 IdSMTP1.AuthenticationType:=atLogin; //設置登錄類型 IdSMTP1.Username:='youeName'; //設置登錄賬號 IdSMTP1.Password:='pasword'; //設置登錄密碼 IdSMTP1.Host:='smtp.gmail.com'; //設置SMTP地址 IdSMTP1.Port:=465; //設置端口 ,默認是25,gmail是465 if not idsmtp1.Connected then begin IdSMTP1.Connect(2000); //開始鏈接服務器 end; except Showmessage('鏈接失敗,請重試!'); Exit; //鏈接失敗 的話 退出該執行過程 end; IdMessage1.Body.Clear; //先清空上次發送的內容 IdMessage1.Subject:='Delphi郵件發送測試'; //設置郵件發送的標題 IdMessage1.Body.add('這是一封來之delphi 7編寫程序發送來的電子郵件'); //設置郵件發送的主體 filename := 'C:\文件.txt'; //須要添加的附件文件 TIdAttachment.Create(IdMessage1.MessageParts, filename); //添加附件 IdMessage1.From.Address:= '12345@gmail.com'; //設置郵件的發件人 也就是說該郵件來自什麼地方 IdMessage1.From.Name := 'tqs'; IdMessage1.Recipients.EMailAddresses:= '45678@qq.com'; //收件人的地址 IdMessage1.CCList.EMailAddresses:='7894@126.com';//抄送 IdMessage1.BccList.EmailAddresses:='aaaabbb@gmail.com'; //密送 IdMessage1.Priority:=mpHighest; //郵件重要性 try idSMTP1.Authenticate; idSMTP1.Send(IdMessage1); Showmessage('發送成功!'); except Showmessage('郵件發送失敗!'); end; end;