DELPHI盒子
!实时搜索: 盒子论坛 | 注册用户 | 修改信息 | 退出
检举帖 | 全文检索 | 关闭广告 | 捐赠
技术论坛
 用户名
 密  码
自动登陆(30天有效)
忘了密码
≡技术区≡
DELPHI技术
lazarus/fpc/Free Pascal
移动应用开发
Web应用开发
数据库专区
报表专区
网络通讯
开源项目
论坛精华贴
≡发布区≡
发布代码
发布控件
文档资料
经典工具
≡事务区≡
网站意见
盒子之家
招聘应聘
信息交换
论坛信息
最新加入: shz0000
今日帖子: 34
在线用户: 16
导航: 论坛 -> DELPHI技术 斑竹:liumazi,sephil  
作者:
男 hlc_alf ★☆☆☆☆ -
普通会员
2003/5/28 10:15:37
标题:
如何点击一个按钮后自动打开系统默认的发送邮件程序? 浏览:4237
加入我的收藏
楼主: 如何点击一个按钮后自动打开系统默认的发送邮件程序?
----------------------------------------------
-
作者:
女 123 (猪猪) ★☆☆☆☆ -
盒子活跃会员
2003/5/28 11:02:34
1楼: winexec('root@2ccc.com',0);
----------------------------------------------
-
作者:
男 Another (Another) ★☆☆☆☆ -
盒子活跃会员
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 ★
作者:
男 hlc_alf ( ) ★☆☆☆☆ -
普通会员
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楼: 楼上的方法好.见意使用!
----------------------------------------------
□每个人都有自己的舞台
                    -------------■蜘蛛·侠
作者:
男 hlc_alf ( ) ★☆☆☆☆ -
普通会员
2003/5/29 16:51:38
7楼: 多谢Boy,我试了一下,问题解决了!如果我想让调用发邮件程序时,自动将邮件的主题设为“网友回复!”,如何解决呢?
----------------------------------------------
-
作者:
男 beginer (初学者) ★☆☆☆☆ -
盒子活跃会员
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 ★
信息
登陆以后才能回复
Copyright © 2CCC.Com 盒子论坛 v3.0.1 版权所有 页面执行70.3125毫秒 RSS