社区
非技术版
帖子详情
邮件接收时,如何保存附件,还有就是如果附件很多,能不能实现对多个文件的打包,生成一个附件发送和接收??
yangbig007
2002-01-14 09:48:32
这些都是在pb调用mapi时的问题,如果不用这些,我真的找不到这样的例子,接收邮件的例子,我想这里面不是还要牵扯到各种邮件格式的解码嘛??有谁有这样的开发经历呀??帮帮小弟!!谢谢先!!!!
...全文
487
2
打赏
收藏
邮件接收时,如何保存附件,还有就是如果附件很多,能不能实现对多个文件的打包,生成一个附件发送和接收??
这些都是在pb调用mapi时的问题,如果不用这些,我真的找不到这样的例子,接收邮件的例子,我想这里面不是还要牵扯到各种邮件格式的解码嘛??有谁有这样的开发经历呀??帮帮小弟!!谢谢先!!!!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
钟伟海
2002-01-14
打赏
举报
回复
一个邮件应用程序要处理的基本事务主要包括:登录到邮件服务器开始会话、接发邮件、结束邮件会话。在PB中,所有这些事务都围绕mailSession对象来展开,因此,编程时,需要在主窗口中定义一个该类型的实例变量:
mailSession MyMail
然后在Open事件中将其初始化:
MyMail=Create mailSession
1.登录到邮件服务器
MyMail经过初始化以后,还要用mailLogon命令将其连接到一个邮件服务器:
MyMail.mailLogon(′jq75′,′alexander′,mailNewSessionWithDownLoad!)
前两个参数分别为用户名和口令,若被忽略,运行时就会出现一个注册对话框。最后一个参数表示新建一个邮件会话,并将服务器上属于jq75的邮件下载到他的收件箱中。
图1
2.阅读邮件
用户信息在服务器上通过验证以后,一个有效的邮件会话就建立了,接下来要做的工作就是接发邮件。
PB用一个mailMessage对象来描述一封邮件,该对象封装了邮件的主题、地址、消息体和附件等信息。图1是邮件应用程序的阅读界面,它列出了收件箱中的所有邮件,可选择其中一封进行阅读。主窗口Open事件的代码为:
…… //连接到邮件服务器
MyMail.mailGetMessages()
//用收件箱中的邮件填充MyMail对象
iNum=UpperBound(MyMail.MessageID[])
//获取收件箱中的邮件数目
For i=1 To iNum //读取收件箱中的每一封邮件,并将其主题添加到列表框中
MyMail.mailReadMessage(MyMail.MessageID[i],msg, mailEntireMessage!,True)
tab—1.tabpage—1.plb—1.AddItem(msg.Subject,1)
Next //msg为mailMessage类型的实例变量
在plb—1控件的SelectionChanged事件中加入下列代码:
MyMail.mailReadMessage(MyMail.MessageID[index],msg, mailEntireMessage!,True)
sle—1.Text=msg.Subject
//显示当前邮件的主题
sle—2.Text=msg. Recipient[1].Address
//显示发件人地址
sle—3.Text=msg.DateReceived
//显示收件时间
mle—1.text=msg.NoteText
//显示邮件的消息体
iAttachmentFileNum=UpperBound(msg.AttachmentFile[])
//获取当前邮件的附件数目
For i=1 To iAttachmentFileNum
strAttFile= strAttFile +msg.AttachmentFile[i].PathName+″~r~n″
Next //strAttFile为String类型的实例变量
在“附件”按钮的Clicked事件中加入下列代码:
MessageBox(″邮件附件″, strAttFile) //显示当前邮件的附件及其在硬盘上存放的位置
3.发送邮件
图2是邮件应用程序的发送界面,它接收收件人地址、邮件主题、消息体和附件,用于填充一个mailMessage类型的对象msg,然后发送。“添加附件”按钮用于选择磁盘文件,其Clicked事件代码为:
图2
String docName, Named
Integer Value
Value = GetFileOpenName(″选择附件″, docName, Named, ″DOC″, ″All Files (*.*),*.*″)
If Value = 1 Then
plb—2.AddItem(docName,1)
//docName中必须包含完整的路径信息
“删除附件”按钮用于把已添加的文件去掉,其Clicked事件代码为:
Ind= plb—2.SelectedIndex()
If Ind〈〉-1 Then plb—2. DeleteItem(Ind)
“发送”按钮的Clicked事件代码为:
msg.Subject=sle_4.Text //邮件主题
msg.NoteText=mle—2.Text //消息体
msg.Recipient[1].RecipientType=mailTo!
//指定收件人类型为mailTo!
msg.Recipient[1].Address=′SMTP:′+sle—5.Text
//收件人地址,前面必须加上SMTP协议
For i=1 To plb—2.TotalItems()
//把选中的文件加到附件中
msg.AttachmentFile[i].FileType=mailAttach! //指定附件i的类型
msg.AttachmentFile[i].PathName= plb—2.Text(i) //附件i的完整文件名
Next
MyMail.mailSend(msg) //发送邮件
4.结束邮件会话
在“退出”按钮的Clicked事件中加入下列代码:
MyMail.mailLogoff() //结束邮件会话
Destroy MyMail //销毁会话对象
至此,一个简单的邮件应用程序就编好了,它虽然还不足以和FoxMail、Outlook相媲美,但已经具备了它们最基本的功能。
例子中的程序在PB6.5中调试通过,大部分代码可以直接利用。
yangbig007
2002-01-14
打赏
举报
回复
没有帮帮小弟么???这么惨呀,急用的呀!!拜托!
python
实现
电子
邮件
附件
指定
时
间段,批量下载以及C#小程序集成
实现
目录 一、需求背景 二、需求分析 三、需求
实现
3.1 python邮箱
附件
指定
时
间下载 3.2 python外部传参 3.3 C#界面设计 四、功能
实现
4.1 邮箱设置 4.2
邮件
附件
下载
实现
1、依赖的模块 2、核心代码 3、其他 4、异常处理 5、python代码调用测试 4.3 C#内部代码
实现
1、
保存
路径中“选择路径” 2、运行结束后清空控件中输入的数据 3、各控件内容判断和处理 4、C#调用外部多参数的exe 五、问题或求教 5.1 超大
附件
无..
java批量
文件
打包
成压缩成zip下载和大量数据导出excel
时
的处理方法_java 导出多
文件
数据并打成zip报 优化
时
间方案(1)
@param size 每个excel的数据的行数。* @param zipfile
生成
的zip
文件
对象。* @time 2018年6月25日11:47:07。* @time 2018年6月25日11:47:07。* @param rowCache 下载
时
缓存的行数。* @time 2018年6月25日11:47:07。* @param srcfile 要压缩的
文件
数组。* @param rowCache 缓冲的行数。* @param files 要
打包
的批量
文件
。
java sendmail
附件
_java
发送
邮件
带
附件
生成
.bin
文件
解决方案
import org.apache.commons.lang3.StringUtils;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import org.springframework.core.io.FileSystemResource;import org.springframework.mail.javamail.JavaMa...
java 支持 超大上G,多
附件
上传思路
java 支持 超大上G,多
附件
上传思路,java超大
文件
上传思路,java超大
文件
上传源码,java超大
文件
上传实例,java超大
文件
上传解决方案,java超大
文件
分块上传,java超大
文件
分片上传,java超大
文件
加密上传,java超大
文件
批量上传,java
文件
夹上传,痛点就是刷新继续,批量上传,批量下载。
实现
原理,就是在每个
文件
上传前,就获取到
文件
MD5取值,在上传
文件
前调用接口,如果获取的
文件
状态是未完成,则返回所有的还没上传的分块的编号,然后前端进行条件筛算出哪些没上传的分块,然后进行上传。
java中如何
实现
文件
打包
上传以及自动解压
我们在开发项目的
时
候,特别是B/S系统,经常会遇到要批量上传
文件
的需求,对此需求一般有如下几个解决方案(以B/S为例):1. 在客户端提供
文件
上传接口,一次上传
一个
文件
2. 一次上传
多个
文件
3. 将需要上传的
文件
打包
,一次上传到服务器,并自动解压到指定目录1,2方法都有几个很明显的不足,用户工作量大,
文件
如果过大,在网络环境中,上传的效率低下,另外
文件
在不同的目
非技术版
401
社区成员
11,494
社区内容
发帖
与我相关
我的任务
非技术版
PowerBuilder 非技术版
复制链接
扫一扫
分享
社区描述
PowerBuilder 非技术版
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章