file-type

PowerBuilder使用JMail 4.5实例教程

RAR文件

5星 · 超过95%的资源 | 下载需积分: 12 | 717KB | 更新于2025-06-16 | 21 浏览量 | 149 下载量 举报 6 收藏
download 立即下载
### PowerBuilder调用JMail实例知识点 #### 1. PowerBuilder简介 PowerBuilder是一种由Sybase公司开发的集成开发环境(IDE),主要用于开发客户端/服务器应用程序。它以数据窗口技术和丰富的控件库而闻名,广泛应用于快速开发数据密集型的商业应用程序。PowerBuilder支持多种数据库,如Oracle、SQL Server、DB2等,并提供了对象导向和事件驱动编程的能力。 #### 2. JMail简介 JMail是一个ActiveX控件,允许开发者在服务器端使用多种编程语言(例如VB、ASP、Delphi等)发送电子邮件。它提供了一套丰富的API来实现邮件的创建、编辑和发送功能。在PowerBuilder中调用JMail对象,可以实现通过编程方式控制邮件的发送过程,比如添加附件、设置收件人地址等。 #### 3. PB9中的JMail使用实例 PB9即PowerBuilder 9,是PowerBuilder系列产品中的一个版本。在这个版本中,开发者可以通过注册JMail控件来调用其功能。以下是使用JMail发送邮件的步骤: - **注册JMail控件** 在PowerBuilder中,首先需要注册JMail ActiveX控件。这可以通过PowerBuilder的ActiveX注册功能来完成。 - **创建JMail对象** 在程序中声明一个JMail对象,并通过Create()函数创建该对象的实例。 - **设置邮件属性** 通过JMail对象提供的属性和方法来配置邮件内容,如发件人、收件人、邮件正文、主题、附件等。 - **发送邮件** 调用JMail对象的Send()方法来发送邮件。 - **错误处理** 通常需要对发送过程进行错误处理,比如捕获可能发生的异常,并提供相应的错误提示。 #### 4. JMail的特定版本4.5 JMail的4.5版本是其中的一个特定版本,该版本具体的功能和API与其它版本可能有所不同。如果需要使用最新版本的JMail,可以通过访问官方网站http://www.dimac.net/下载。 #### 5. 如何在PowerBuilder中下载和安装JMail - 访问JMail的官方网站或指定的下载地址。 - 下载适合PowerBuilder版本的JMail安装包。 - 在PowerBuilder中注册下载的JMail控件。 #### 6. 实际操作步骤详解 - **环境准备** 确保PowerBuilder 9已正确安装在开发环境中,并且已配置好相应的数据库连接。 - **控件注册** 在PowerBuilder的脚本编辑器中,使用regsvr32命令或通过PowerBuilder的ActiveX注册工具来注册JMail控件。 - **脚本编写** 在PowerBuilder的脚本编辑器中,声明JMail对象,并使用new来创建实例,然后通过对象的属性和方法来设置邮件内容。示例代码可能如下: ```PowerBuilder oleobject ojmail ojmail = create oleobject ojmail.object = "JMail.Body" ojmail.Connect // 配置邮件内容 ojmail.Subject = "测试邮件" ojmail.Body = "这是邮件内容" ojmail.Sender = "[email protected]" ojmail.Addrecipient("[email protected]") // 发送邮件 ojmail.Send("smtp.example.com") // 清理 ojmail.Disconnect destroy ojmail ``` 注意:上述代码仅为示例,实际使用时需要根据实际的SMTP服务器和邮件内容进行调整。 - **错误处理** 在发送邮件的过程中,可能因为网络问题、服务器问题、配置错误等多种原因造成邮件发送失败。在脚本中应包含try-catch结构来捕获错误,并给出相应的提示。 #### 7. 注意事项 - 在实际应用中,需要确保网络连接的稳定性,以及SMTP服务器的正确配置。 - 邮件的发送可能会受到反垃圾邮件的限制,如需要在邮件头部设置合适的from和reply-to字段。 - 发送邮件时要注意保护用户隐私和数据安全,尤其是收件人的地址信息。 - 在某些环境下,JMail可能需要额外的配置或安装其他依赖库。 #### 8. 结语 本知识点针对在PowerBuilder 9中使用JMail 4.5版本发送邮件的过程进行了详尽的说明。开发人员应当熟悉上述流程,并根据实际情况进行适当调整。通过本知识点的学习,开发人员可以更加高效地在PowerBuilder项目中实现邮件发送功能。

相关推荐

filetype
/这个是一个成功的声明 FUNCTION int fsendemail(ref String sSmtpServer, ref String sSenderId, & ref String sPsw, ref String sSenderName, ref String sRcvAddr,& ref String sSenderAddr,ref String sCCAddr, & ref String sBCCAddr, ref String sSubject, & ref String sContent, ref String sAttach) Library "PSdEmail_dll.dll" 代码如下 //mail_url放邮件地址,as_mailtext放邮件内容,mail_cc是邮件的抄送地址 //as_subject是邮件主题,as_filename是附件的文件名,as_pathname是附件的完整路径名 string ls_name mailsession lms_data mailmessage lmms_message mailreturncode lmr_value integer li_i //产生邮件会话对象mses lms_data = create mailsession //邮件登录 lmr_value = lms_data.maillogon(mailnewsession!) if lmr_value mailreturnsuccess! then gnv_base.of_message("真不幸,邮件注册失败") return -1 end if //标题 lmms_message.subject = sle_subject.text //正文 lmms_message.notetext = trim(mle_content.text) + ' ' ////附件 //if as_pathname '' or as_filename '' then // mmsg.attachmentfile[1].pathname=as_pathname // mmsg.attachmentfile[1].filename=as_filename //end if //******************************校验收件人邮件地址是否是合法地址***************************// //原收件人 ls_name = sle_rcv.text lmr_value = lms_data.mailResolveRecipient(ls_name) if lmr_value = mailReturnSuccess! THEN lmms_message.Recipient[1].RecipientType = mailto! lmms_message.Recipient[1].address = "[email protected]" lmms_message.Recipient[1].name = "[email protected]" elseif lmr_value = mailReturnFailure! THEN gnv_base.of_message('收件人地址错误,请检查') return -1 else gnv_base.of_message('收件人地址错误,请检查') return -1 end if //发送邮件 lmr_value = lms_data.mailsend(lmms_message) if lmr_value mailreturnsuccess! then messagebox("邮件发送","邮件发送失败!"+char(10)+char(13)+'请检查:'+char(10)+char(13)+& '1.附件路径和名称是否正确.'+char(10)+char(13)+& '2.本地outlook配置是否正确.'+char(10)+char(13)+& '3.如以上都正确,请与系统管理员联系!') return -1 elseif lmr_value = mailreturnsuccess! then // messagebox("邮件发送","邮件发送完毕!") end if lms_data.maillogoff() //退出登录 destroy lms_data //取消邮件会话 return 1 String ls_RcvAddr //收件人 String ls_CcAddr //转发 String ls_BccAddr //暗送 String ls_Sub //主题 String ls_Content //内容 String ls_Attach = ''//附件,多个附件由ATTACHSPLIT分隔 Constant String ATTACHSPLIT = '|' //附件的分隔符号 Integer li_Rtn //返回值,0:发送成功,1:发送失败 pointer oldpointer // Declares a pointer variable oldpointer = SetPointer(HourGlass!) ls_RcvAddr = sle_Rcv.Text //收件人 ls_CcAddr = sle_CC.Text //转发 ls_BccAddr = sle_BCC.Text //暗送 ls_Sub = sle_Subject.Text //主题 ls_Content = mle_Content.Text //内容 Long ll_Row, ll_RowCnt //把附件用ATTACHSPLIT连接起来 ll_RowCnt = dw_Attach.RowCount() FOR ll_Row = 1 TO ll_RowCnt ls_Attach = ls_Attach + dw_Attach.Object.FilePath[ll_Row] +& dw_Attach.Object.FileName[ll_Row] + ATTACHSPLIT NEXT //发送 li_Rtn = fSendEmail(is_Server, is_SenderId , is_Psw, is_SenderName, is_SenderAddr,ls_RcvAddr, ls_CcAddr, ls_BccAddr, ls_Sub, ls_Content,ls_Attach) if li_rtn = 0 then gnv_base.of_message('邮件发送成功!') else gnv_base.of_message('邮件发送失败!') end if SetPointer(oldpointer) li_Rtn = fSendEmail(is_Server, is_SenderId , is_Psw, is_SenderName, is_SenderAddr, & ls_RcvAddr, ls_CcAddr
jjoulejcc
  • 粉丝: 14
上传资源 快速赚钱