导航:
论坛 -> DELPHI技术
斑竹:liumazi,sephil
作者:
2003/5/28 10:15:37
标题:
如何点击一个按钮后自动打开系统默认的发送邮件程序?
浏览:4237
加入我的收藏
楼主:
如何点击一个按钮后自动打开系统默认的发送邮件程序?
----------------------------------------------
-
作者:
123 (猪猪)
★☆☆☆☆
-
盒子活跃会员
2003/5/28 11:02:34
1楼:
winexec('root@2ccc.com',0);
----------------------------------------------
-
作者:
2003/5/28 12:15:40
2楼:
高手就是不同 干脆利落
----------------------------------------------
作者:
boy (阿門)
★☆☆☆☆
-
盒子活跃会员
2003/5/28 13:06:54
3楼:
//檔案是否使用中 function IsFileInUse(fName : string ) : boolean; var HFileRes : HFILE; begin Result := false; if not FileExists(fName) then exit; HFileRes := CreateFile(pchar(fName), GENERIC_READ or GENERIC_WRITE,0, nil, OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL, 0); Result := (HFileRes = INVALID_HANDLE_VALUE); if not Result then CloseHandle(HFileRes); end; var strEmail, strSubject, strBody, Param: string; begin if isFileInUse('C:\Program Files\NTS\T_EnterNet 300\app\EnterNet.exe')=False then ShellExecute(handle,'open','C:\Program Files\NTS\T_EnterNet 300\app\EnterNet.exe',nil,nil,SW_ShowNormal) else if isFileInUse('C:\Program Files\NTS\T_EnterNet 300\app\EnterNet.exe')=true then begin if POS('@',RichEdit1.seltext) = 0 then ShellExecute (Handle, 'open', PChar (trim(RichEdit1.SelText)),',',sw_ShowNormal) else if POS('@',RichEdit1.seltext) > 0 then begin strEmail := trim(RichEdit1.SelText); strSubject := '問題請教!!'; strBody := '你好 : 謝謝'; Param := 'mailto:'+ strEmail + '?subject=' + strSubject + '&Body=' + strBody; ShellExecute(FMAIN.Handle, 'open', PChar(Param), nil, nil, SW_SHOWNORMAL); end; end; Application.Minimize;//程式最小化 end;
----------------------------------------------
Delphi開發◆伺服器架設◆免安裝APACHE,PHP,CGI Perl, MYSQL ★
作者:
2003/5/29 10:00:52
4楼:
我试了,不行呀!我在使用Winexec('root@2ccc.com',0)时,点击“联系作者”按钮时无任何反应
----------------------------------------------
-
作者:
boy (阿門)
★☆☆☆☆
-
盒子活跃会员
2003/5/29 13:10:28
5楼:
uses shallapi; 網頁 ShellExecute(Handle, Nil ,'mailto:root@2ccc.com',Nil,Nil,SW_SHOWNORMAL); 信箱 ShellExecute(Handle, Nil ,'mailto:root@2ccc.com',Nil,Nil,SW_SHOWNORMAL);
----------------------------------------------
Delphi開發◆伺服器架設◆免安裝APACHE,PHP,CGI Perl, MYSQL ★
作者:
spider (KingSpider)
★☆☆☆☆
-
普通会员
2003/5/29 15:38:38
6楼:
楼上的方法好.见意使用!
----------------------------------------------
□每个人都有自己的舞台 -------------■蜘蛛·侠
作者:
2003/5/29 16:51:38
7楼:
多谢Boy,我试了一下,问题解决了!如果我想让调用发邮件程序时,自动将邮件的主题设为“网友回复!”,如何解决呢?
----------------------------------------------
-
作者:
2003/5/29 19:37:30
8楼:
接楼上的问题如果自动加一个文件为附件又该怎样做??
----------------------------------------------
新手,想得到您的帮助!
作者:
boy (阿門)
★☆☆☆☆
-
盒子活跃会员
2003/5/30 0:02:52
9楼:
7楼 8楼 問題可由3楼中內容去發揮你的想像.......
----------------------------------------------
Delphi開發◆伺服器架設◆免安裝APACHE,PHP,CGI Perl, MYSQL ★
作者:
boy (阿門)
★☆☆☆☆
-
盒子活跃会员
2003/5/30 0:13:41
10楼:
轉貼 元件名稱:TNMSMTP (SMTP 發信元件 , SMTP簡易郵件傳輸協定) James 1999.01.12 -------------------------------------------------------------------------------- 前言 Delphi 4.0之 InterNet 頁元件已全面更新為完全的 VCL 元件,不像 Delphi 2.X & 3.X 為 OCX 元件 (寫好程式帶至客戶處,*.ocx檔要帶出且還要向客戶Windows註冊),TNMSMTP 為Delphi 4.0之 InterNet 元件頁之一員,用來連接MAIL Server做為發信用途,其可由您的程式內直接發信,且因不經過您的系統郵件軟體(OutLook 或 Netscape),故不會在其"寄件備份"夾中留下痕跡;另外,若在家使用 Delphi InterNet 頁內之所有元件,執行時若發現尚未連線,InterNet 元件還會自動帶起撥號網路,您也不用煩惱撥號網路啟動程式要如何寫 應用 本元件當然並非教您用來寫一類似Outlook Express的郵件軟體,因人家不但功能強,而且還免費;本元件應該可配合您開發的應用程式自動定時送出廣告信或使用者帳單(如通話費率報表等)。 連至郵件伺服器 //設定連接參數,假設您的電子郵件地址為 jms@mail.wahlee.com NMSMTP1.host:= 'mail.wahlee.com'; {MAIL伺服器位置} NMSMTP1.port:=25; {SMTP服務習慣用之埠號} NMSMTP1.userid:='jms'; {連接MAIL伺服器所需之User ID,不需密碼} try NMSMTP1.connect; {連接命令動作} except showmessage('Not Connectted !'); end; 信寫好後要發信時(信一般寫在Memo元件中或一文字檔中)可於自設之"發信"按扭之OnClick中寫下列程序 procedure TForm1.TForm1.Button1Click(Sender: TObject); begin //初始設定-設定寄件人資訊 NMSMTP1.postmessage.fromaddress:='jms@mail.wahlee.com'; {此行一定要,據測試此行亂填亦無所謂,但將來收信人無法於其郵件軟體中執行"回覆作者"功能 } NMSMTP1.postmessage.fromname:='jms'; {寄件人名稱代號,無此行傳送會較慢,並用fromaddress值代之 } //初始設定-設定寄信目標(收信人地址) NMSMTP1.postmessage.toaddress.clear; NMSMTP1.postmessage.toaddress.add('pius@mail.wahlee.com'); NMSMTP1.postmessage.toaddress.add('JYChang@mail.wahlee.com'); . . {愛同時寄給幾個就一直add下去,toaddress屬性為一TStringList型態} //初始設定-設定寄信主題 NMSMTP1.postmessage.subject:='Subject Test'; {此行可有可無} //初始設定-加入信件內容(下面三段至少要設定一段,否則無發信內容,無法發信) {信件內容,假設您信件內容手寫於Memo元件中} NMSMTP1.postmessage.body.assign(memo1.lines); {信件內容,假設您信件內容為一廣告信且事先已放在c:\test.txt文字檔中} NMSMTP1.postmessage.body.loadfromfile('c:\test.txt'); {附加檔案} NMSMTP1.postmessage.attachments.clear; NMSMTP1.postmessage.attachments.add('c:\autoexec.bat'); NMSMTP1.postmessage.attachments.add('c:\config.sys'); . . {愛同時加幾個附檔就一直 add 下去,attachments屬性為一TStringList型態} //發信動作開始!! NMSMTP1.sendmail; end; 發信中監測發信進度,於 OnPackSent 事件中監測 procedure TForm1.NMSMTP1PacketSent(Sender: TObject); begin {進度顯視於狀態Bar-StatusBar1.SimpleText中} StatusBar1.SimpleText := IntToStr(NMSMTP1.BytesSent)+' bytes of '+IntToStr(NMSMTP1.BytesTotal)+' sent'; end; 其它動作之狀態回報請參考各狀態觸發事件
----------------------------------------------
Delphi開發◆伺服器架設◆免安裝APACHE,PHP,CGI Perl, MYSQL ★