如何在VFP中实现邮件收发

如何在VFP中实现邮件收发,第1张

* 邮件发送测试

para  _cTo, _cSub,_cBody, _cur_fujian

Local cTo,cSub,cAtta,cBody,cSmtp,cFrom,cUid,cPwd,cErrMsg

cTo =   _cTo      &&"收件人"

cSub =  _cSub     &&""

cBody = _cBody    &&"测试发件"

cAtta = _cur_fujian

cSmtp = "smtp.163.com"

cFrom = "test<tesT@163.com>"

cUid = "NATION_DFXT" && 账号

cPwd = "*******" && 密码

cErrMsg = SendMail(cTo,"","",cSub,cBody,cAtta,cSmtp,cFrom,cUid,cPwd)

If EMPTY(cErrMsg)

Messagebox("邮件发送成功! ",64,"系统消息")

Else

Messagebox(cErrMsg,64,"发送邮件出错消息")

Endif

* 邮件发送函数

Function SendMail( &&参数列表

cMail,         && 收件人列表

cCC,           && 抄送收件人列表

cBCC,          && 密件抄送收件人列表

cSubject,      && 主题

cBody,         && 邮件内容

cAttachFile,   && 附件文件列表

cSmtp,         && SMTP服务器名或地址(必须)

cFrom,         && 发件人邮件地址(需验证发信的服务器需要)

cUid,          && 用户名(需验证发信的服务器需要)

cPwd)           && 口令(需验证发信的服务器需要)

* 参数错误判断

* ...............

* ...............

Local cError,cErrMsg,m,n,i,j,k,objFields

m.cErrMsg = ""

m.cError = ON("ERROR")

On ERROR m.cErrMsg = MESSAGE()

*服务器设置

m.objMail = CREATEOBJECT("CDO.Message")

* 清除原默认配置

m.objFields = m.objMail.Configuration.Fields

For i = 0 TO objFields.Count - 1

m.objFields.Delete(i)

Endfor

m.objFields.Update

* 设置发信服务配置

m.objConf = m.objMail.Configuration

m.objConf.Fields.Append("http://schemas.microsoft.com/cdo/configuration/languagecode",2)

m.objConf.Fields(0).value = "zh-cn"

m.objConf.Fields.Append("http://schemas.microsoft.com/cdo/configuration/postusing",2)

m.objConf.Fields(1).value = 0

m.objConf.Fields.Append("http://schemas.microsoft.com/cdo/configuration/sendemailaddress",2)

m.objConf.Fields(2).value = m.cFrom     &&发送邮件地址

m.objConf.Fields.Append("http://schemas.microsoft.com/cdo/configuration/sendpassword",2)

m.objConf.Fields(3).value = m.cPwd      &&发件口令

m.objConf.Fields.Append("http://schemas.microsoft.com/cdo/configuration/sendusername",2)

m.objConf.Fields(4).value = m.cUid      &&用户名

m.objConf.Fields.Append("http://schemas.microsoft.com/cdo/configuration/sendusing",2)

m.objConf.Fields(5).value = 2

m.objConf.Fields.Append("http://schemas.microsoft.com/cdo/configuration/smtpaccountname",2)

m.objConf.Fields(6).value = "网易服务器" &&Smtp名称

m.objConf.Fields.Append("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate",2)

m.objConf.Fields(7).value = 1

m.objConf.Fields.Append("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout",2)

m.objConf.Fields(8).value = 180

m.objConf.Fields.Append("http://schemas.microsoft.com/cdo/configuration/smtpserver",2)

m.objConf.Fields(9).value = m.cSmtp     &&SMTP服务器

m.objConf.Fields.Append("http://schemas.microsoft.com/cdo/configuration/smtpserverport",2)

m.objConf.Fields(10).value = 25

m.objConf.Fields.Append("http://schemas.microsoft.com/cdo/configuration/usemessageresponsetext",2)

m.objConf.Fields(11).value = .T.

m.objConf.Fields.Append("urn:schemas:calendar:timezoneid",2)

m.objConf.Fields(12).value = 21

m.objConf.Fields.Update

*邮件设置

*注:邮件地址和附件文件可以同时多个,在字符串中使用分号()分隔

m.objMail.To = m.cMail           &&收件人

m.objMail.CC = m.cCC             &&抄送

objMail.BCC = m.cBCC             &&密件抄送

m.objMail.Subject = m.cSubject   &&主题

m.objMail.TextBody = m.cBody     &&内容

objMail.From = m.cFrom           &&发件人(服务器要校验的)

*根据附件列表添加附件

If !EMPTY(m.cAttachFile)

m.cAttachFile = m.cAttachFile + ""

m.j = 0

m.n = OCCURS("", m.cAttachFile)

For m.i = 1 TO m.n

m.k = AT("", m.cAttachFile, m.i)

m.cFile = SUBSTR(m.cAttachFile, m.j+1, m.k-m.j-1)

If !FILE(m.cFile)

*!* MESSAGEBOX("附件文件["+m.cFile+"没找到! ",16,"出错消息")

On ERROR &cError

Return m.cErrMsg

Endif

objMail.AddAttachment(m.cFile)    &&添加附件

m.j = m.k

Endfor

Endif

*发送邮件

m.objMail.Send

On ERROR &cError

Return m.cErrMsg

Endfunc

***********************************************************************

使用时用

sendmail('<收件地址>' , '标题', '内容' , 附件路径)

vfp中附加数据库到已有项目中:

1、打开此项目文件,在项目管理器中,先选择数据-数据库,再点右边的“添加”按钮

2、选中相应的数据库就可以添加进来了。

注意:如果项目管理器窗口是停靠在VF主窗口上,那么就点数据-数据库,再点右键,选添加,以后要在项目中新建内容,就点项目的右边新建按钮,那么就自动新建在项目中了。

你是不是要问,VFP表如何保存图片?

你的表要添加一个 通用型 字段, 打开表添加一行新记录,为这个通用字段插入一个新对象,这个对象可以是图片,如果图片是 BMP格式的,可以直接显示,其他的格式只能显示一个图标,双击后才能看到图片,或者是WORD,EXCEL等其他格式的文件


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11520098.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存