`
isiqi
  • 浏览: 16035585 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

C# 利用Jmail接收邮件(属性说明)

阅读更多

W3 JMail 邮件组件是Dimac公司开发的用来完成邮件的发送、接收、加密和集群传输等工作的。w3 Jmail组件是国际最为流行的邮件组件之一,当今世界上绝大部分ASP程序员都在使用w3 Jmail组件构建邮件发送系统,那是因为w3 Jmail组件使用了新的内核技术,使其更加可靠和稳定。

一、下面向读者介绍w3 Jmail4.3组件的新特性:

1、 w3 Jmail4.3组件重新设计了其内部结构——使用Message对象代替原来的单一对象Jmail.smtpmail发送邮件;

2、 w3 Jmail4.3组件一共有十多个对象(后面将详细介绍)——这些对象中,绝大多数是针对Jmail.Message对象操作的;

3、 支持从POP3邮件服务器收取邮件;

4、 支持加密邮件的传输;

5、 快速发送,一次会话就完成邮件发送;

6、 还有一个特性就是可以使用w3 Jmail4.3组件的集群发送功能一次发送成千上万个邮件,还可以通过邮件合并(mailmerge)对象来个性化邮件。

二、Jmail邮件组件的安装及卸载:

1、 安装

跟使用别个组件一样,在使用Jmail邮件组件之前要先安装或注册该组件Jmail.dll。具体注册方法,是先把Jmail.dll文件拷贝到硬盘的某一目录下(如C:\Jmail\Jmail.dll),然后执行命令Regsvr32 C:\Jmail\Jmail.dll即可。

2、 卸载

卸载组件是安装组件的相作,可以使用参数/U来卸载已安装的组件,执行命令Regsvr32 /U Jmail.dll即可。

三、详细介绍W3 Jmail组件的对象(12个):

1、.POP3对象

属性(或方法)
说明

Connect(Username,Password,Server,Port)
连接POP3服务器,断口可选,默认110。

DeleteMessages()
从邮件服务器上删除所有邮件。

DeleteSingleMessage(MessageID)
从邮件服务器上删除由MessageID指定的邮件。

Disconnect()
关闭跟邮件服务器的连接。

DownloadHeaders()
从邮件服务器上读取所有的邮件头并传递给Messages集合。

DownloadMessages()
从邮件服务器读取所有邮件。

DownloadSingleHeader(MessageID)
从邮件服务器读取指定的邮件头并传递给Messages集合。

DownloadUnreadMessages()
从邮件服务器上读取所有未读邮件。

2、.Messages对象

属性(或方法)
说明

Clear()
清除集合中的所有内容,并不会删除邮件服务器上的任何邮件。

Count():Integer
返回集合中记录的数目:I=Messages.Count

Item(Index):Pointer
返回一个Message对象。Set oMsg=Messages.Item(0)

3、.Message对象

属性(或方法)
说明

AddAttachment(FileName,isInline,ContentType):String
给邮件添加一个文件型的附件。isInline设置为True时,添加的这个附件就是一个可嵌入的附件。

AddCustomAttachment(FileName,Data,isInline):String
给邮件添加一个自定义类型的附件。

AddHeader(Xheader,Value)
给邮件添加一个自定义邮件头X-Header。

AddNativeHeader(Header,Value)
给邮件添加一个邮件头。

AddRecipient(emailAddress,recipientName,PGPKey)
给邮件添加一个收件人。RecipientName和PGPKey是可选项,RecipientName为收件人姓名,PGPKey给邮件加密。

AddRecipientBCC(emailAddress,PGPKey)
添加一个邮件暗送人(BCC)地址。

AddRecipientCC(emailAddress,recipientName,PGPKey)
给邮件添加一个邮件抄送人(CC)地址。

AddURLAttachment(bstrURL,bstrAttachAs,isInline,bstrAuth):String
从指定的URL下载文件并添加为邮件附件。参数bstrAttachAs是用来更改添加为邮件附件的文件名。

AppendBodyFromFile(FileName)
清除邮件正文,并把指定文件的内容作为邮件正文。

AppendHTML(Text)
从邮件追加HTML格式正文,如例所示:Message. AppendHTML(“<H3>Hello Word</H3>”)

AppendText(Text)
向邮件添加文本正文。

Clear()
清除所有邮件消息,是成为一个空对象。

ClearAttachments()
清除附件列表。如:Message.ClearAttachments

ClearCustomHeaders()
清除所有自定义的邮件头。

ClearRecipients()
清除所有收件人地址列表。

Close()
释放Jmail与邮件服务器连接而使用的缓存(Cache)。

DecodeHeader(Header):String
输出一个邮件头消息。

ExtractEmailAddressesFromURL(bstrURL,bstrAuth)
从指定的网制(URL)读取并添加邮件列表。

GetMessageBodyFromURL(同上)
删除邮件正文并用指定的URL的内容代替。

KeyInformation(keyIdentifier):pointer
返回一个PGPKey对象。

LoadFromStream(Stream)
从数据库流读取数据,该数据库流必须符合RFC822标准。

LogCustomMessage(Message)
给Jmail日志文件添加自定义日志。此函数只有在logging属性被设置为True时有效。

Nq()
将邮件追加到发送队列等待发送。

ParseMessage(MessageSource)
解析一个邮件,数据流必须符合RFC822格式标准。

SaveToStream(Stream)
保存邮件到数据流,数据流必须符合RFC822格式标准。

Send(MailServer,enque):Boolean
发送邮件。邮件服务器是一个描述邮件服务器名称或地址的字符串,用户名和密码是可选项。当要发送认证邮件时使用格式为:用户名:密码@邮件服务器

SendToNewsGroup(ServerName,NewsGroup)
使用指定的NNTP服务器发送邮件到新闻组,多个邮件用“,”隔开。

About():string
设置一些附加信息。

Attachments():Pointer
返回邮件的附件集合。Set Attachments=Message.Attachments

Body():String

1/**////<summary>
2///利用JMAIl接收邮件
3///</summary>
4///<paramname="mailname">油箱用户名称</param>
5///<paramname="mailpwd">油箱密码</param>
6///<paramname="poptity">等级</param>
7///<paramname="senders">发送者</param>
8///<paramname="sendmail">发件人地址</param>
9///<paramname="subject">主题</param>
10///<paramname="body">内容</param>
11///<paramname="path">路径</param>
12///<paramname="data">数据</param>
13///<paramname="num1">输出参数</param>

14publicstaticvoidReciveMail(stringmailname,stringmailpwd,refstringpoptity,refstringsenders,refstringsendmail,refstringsubject,refstringbody,refstringpath,refstringdata,outintnum1,stringpaths)
15{
16num1=1;
17jmail.POP3ClasspopMail=newjmail.POP3Class();
18jmail.MessagemailMessage;
19jmail.Attachmentsatts;
20jmail.Attachmentatt;
21stringpop="pop."+mailname.Substring(mailname.IndexOf("@")+1);
22popMail.Connect(mailname,mailpwd,pop,110);
23if(0<popMail.Count)
24{
25for(inti=1;i<=popMail.Count;i++)
26{
27mailMessage=popMail.Messages[i];
28atts=mailMessage.Attachments;
29mailMessage.Charset="GB2312";
30mailMessage.Encoding="Base64";
31mailMessage.ISOEncodeHeaders=false;
32poptity=mailMessage.Priority.ToString();
33senders=mailMessage.FromName;
34sendmail=mailMessage.From;
35subject=mailMessage.Subject;
36body=mailMessage.Body;
37data=mailMessage.Date.ToString();
38stringsize=mailMessage.Size.ToString();
39for(intj=0;j<atts.Count;j++)
40{
41if(j==0)
42{
43//取得附件名称
44att=atts[j];
45/**//**//**////附件名称
46
47stringattname=att.Name;
48//intk=attname.LastIndexOf(".");
49//stringtime=DateTime.Now.ToString();
50//time=time.Replace("-","");
51//time=time.Replace("","");
52//time=time.Replace(":","");
53//attname=attname.Insert(attname.LastIndexOf("."),"-"+time);
54///**////上传到服务器
55//path="D:\\Mail\\mailre\\"+attname;
56stringall=paths+"\\Mail\\MailReceive\\";
57path=all+attname;
58DirectoryInfodir=newDirectoryInfo(all);
59
60if(dir.Exists)
61{
62att.SaveToFile(path);
63}

64else
65{
66dir.Create();
67att.SaveToFile(path);
68}

69}

70
71
72}

73popMail.DeleteSingleMessage(i);//删除邮件
74}

75att=null;
76atts=null;
77popMail.Disconnect();
78popMail=null;
79}

80else
81{
82
83num1=0;
84att=null;
85atts=null;
86popMail.Disconnect();
87popMail=null;
88}

89
90
91}

92
93


分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics