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等其他格式的文件
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)