123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246 |
- $PBExportHeader$f_mailto_fj.srf
- global type f_mailto_fj from function_object
- end type
- forward prototypes
- global function integer f_mailto_fj (string arg_mailaddress, string arg_title, string arg_content, ref string arg_msg)
- global function integer f_mailto_fj (string arg_mailaddress, string arg_title, string arg_content, s_email_lvfj s_lvfj[], ref string arg_msg)
- end prototypes
- global function integer f_mailto_fj (string arg_mailaddress, string arg_title, string arg_content, ref string arg_msg);int rslt = 1
- uo_email obj_email
- obj_email = create uo_email
- if not f_hasDotNet() then
- rslt = 0
- arg_msg = '如需收发邮件请安装.net2.0!'
- goto ext
- end if
- transaction commit_tran
- transaction fj_tran
- s_email_send s_send
- s_email_sendmx s_sendmx[]
- s_email_lvfj s_lvfj[]
- commit_tran = sqlca
- Long ll_ConnectionID
- IF f_get_outerconnection_email(ll_ConnectionID,arg_msg) = 1 THEN
- fj_tran = sys_email_sqlca
- ELSE
- rslt = 0
- arg_msg = '要使用邮件功能,请先定义邮件数据库'
- goto ext
- END IF
- obj_email.commit_tran = commit_tran
- obj_email.fj_tran = fj_tran
- long ll_cnt
- Select COUNT(0) INTO :ll_cnt
- from u_email_set where empid = :sys_empid and mailtype = 0;
- if sqlca.sqlcode <> 0 then
- rslt = 0
- arg_msg = '查询邮箱设置失败,' + sqlca.sqlerrtext
- goto ext
- end if
- if ll_cnt <= 0 then
- rslt = 0
- arg_msg = '没有定义邮箱帐号'
- goto ext
- end if
- select top 1 mailid, mailuser, mailaddress
- INTO :s_send.mailid, :s_send.senduser, :s_send.sendaddress
- from u_email_set
- where empid = :sys_empid and mailtype = 0;
- if sqlca.sqlcode <> 0 then
- rslt = 0
- arg_msg = '查询邮箱设置失败,' + sqlca.sqlerrtext
- goto ext
- end if
- s_send.mailaddress = s_send.sendaddress
- select top 1 boxid
- INTO :s_send.boxid
- from u_email_box
- where mailid = :s_send.mailid and boxtype = '发件箱';
- if sqlca.sqlcode <> 0 then
- rslt = 0
- arg_msg = '查找发件箱失败'
- goto ext
- end if
- s_send.sendid = 0
- s_send.mailtype = '发件'
- s_send.subject = arg_title
- s_send.priority = 3
- s_send.htmlbody = arg_content
- s_send.textbody = arg_content
- s_sendmx[1].sendid = 0
- s_sendmx[1].revname = arg_mailaddress
- s_sendmx[1].revaddress = arg_mailaddress
- IF obj_email.f_save(s_send,s_sendmx,s_lvfj,arg_msg) = 0 THEN
- rslt = 0
- GOTO ext
- END IF
- // 保存成功 发送
- string ls_run
- ls_run = 'longjoe_rev.exe -longjoe&'&
- + sys_system_id + '&'&
- + sys_cur_version + '&'&
- + String(sys_if_register) + '&'&
- + Commit_Tran.Database + '&'&
- + Commit_Tran.UserID + '&'&
- + f_psw_bczh(Commit_Tran.DBPass,0,sys_power_key) + '&'&
- + Commit_Tran.LogID + '&'&
- + f_psw_bczh(Commit_Tran.LogPass,0,sys_power_key) + '&'&
- + Commit_Tran.ServerName + '&'&
- + string(sys_empid) + '&'&
- + string(s_send.mailid) + '&'&
- + '1&'&
- + fj_tran.Database + '&'&
- + fj_tran.UserID + '&'&
- + f_psw_bczh(fj_tran.DBPass,0,sys_power_key) + '&'&
- + fj_tran.LogID + '&'&
- + f_psw_bczh(fj_tran.LogPass,0,sys_power_key) + '&'&
- + fj_tran.ServerName + '&'&
- + string(s_send.sendid) + '&'
- IF Run(sys_cur_path + ls_run) = -1 THEN
- rslt = 0
- arg_msg = '运行程序失败!'
- goto ext
- END IF
- ext:
- destroy obj_email
- return rslt
- end function
- global function integer f_mailto_fj (string arg_mailaddress, string arg_title, string arg_content, s_email_lvfj s_lvfj[], ref string arg_msg);int rslt = 1
- uo_email obj_email
- obj_email = create uo_email
- if not f_hasDotNet() then
- rslt = 0
- arg_msg = '如需收发邮件请安装.net2.0!'
- goto ext
- end if
- transaction commit_tran
- transaction fj_tran
- s_email_send s_send
- s_email_sendmx s_sendmx[]
- commit_tran = sqlca
- Long ll_ConnectionID
- IF f_get_outerconnection_email(ll_ConnectionID,arg_msg) = 1 THEN
- fj_tran = sys_email_sqlca
- ELSE
- rslt = 0
- arg_msg = '要使用邮件功能,请先定义邮件数据库'
- goto ext
- END IF
- obj_email.commit_tran = commit_tran
- obj_email.fj_tran = fj_tran
- long ll_cnt
- Select COUNT(0) INTO :ll_cnt
- from u_email_set where empid = :sys_empid and mailtype = 0;
- if sqlca.sqlcode <> 0 then
- rslt = 0
- arg_msg = '查询邮箱设置失败,' + sqlca.sqlerrtext
- goto ext
- end if
- if ll_cnt <= 0 then
- rslt = 0
- arg_msg = '没有定义邮箱帐号'
- goto ext
- end if
- select top 1 mailid, mailuser, mailaddress
- INTO :s_send.mailid, :s_send.senduser, :s_send.sendaddress
- from u_email_set
- where empid = :sys_empid and mailtype = 0;
- if sqlca.sqlcode <> 0 then
- rslt = 0
- arg_msg = '查询邮箱设置失败,' + sqlca.sqlerrtext
- goto ext
- end if
- s_send.mailaddress = s_send.sendaddress
- select top 1 boxid
- INTO :s_send.boxid
- from u_email_box
- where mailid = :s_send.mailid and boxtype = '发件箱';
- if sqlca.sqlcode <> 0 then
- rslt = 0
- arg_msg = '查找发件箱失败'
- goto ext
- end if
- s_send.sendid = 0
- s_send.mailtype = '发件'
- s_send.subject = arg_title
- s_send.priority = 3
- s_send.htmlbody = arg_content
- s_send.textbody = arg_content
- s_sendmx[1].sendid = 0
- s_sendmx[1].revname = arg_mailaddress
- s_sendmx[1].revaddress = arg_mailaddress
- IF obj_email.f_save(s_send,s_sendmx,s_lvfj,arg_msg) = 0 THEN
- rslt = 0
- GOTO ext
- END IF
- // 保存成功 发送
- string ls_run
- ls_run = 'longjoe_rev.exe -longjoe&'&
- + sys_system_id + '&'&
- + sys_cur_version + '&'&
- + String(sys_if_register) + '&'&
- + Commit_Tran.Database + '&'&
- + Commit_Tran.UserID + '&'&
- + f_psw_bczh(Commit_Tran.DBPass,0,sys_power_key) + '&'&
- + Commit_Tran.LogID + '&'&
- + f_psw_bczh(Commit_Tran.LogPass,0,sys_power_key) + '&'&
- + Commit_Tran.ServerName + '&'&
- + string(sys_empid) + '&'&
- + string(s_send.mailid) + '&'&
- + '1&'&
- + fj_tran.Database + '&'&
- + fj_tran.UserID + '&'&
- + f_psw_bczh(fj_tran.DBPass,0,sys_power_key) + '&'&
- + fj_tran.LogID + '&'&
- + f_psw_bczh(fj_tran.LogPass,0,sys_power_key) + '&'&
- + fj_tran.ServerName + '&'&
- + string(s_send.sendid) + '&'
- IF Run(sys_cur_path + ls_run) = -1 THEN
- rslt = 0
- arg_msg = '运行程序失败!'
- goto ext
- END IF
- ext:
- destroy obj_email
- return rslt
- end function
|