C# 利用Jmail接收邮件
来源:互联网 发布:python中time.sleep 编辑:程序博客网 时间:2024/05/21 12:39
1、 安装
跟使用别个组件一样,在使用Jmail邮件组件之前要先安装或注册该组件Jmail.dll。具体注册方法,是先把Jmail.dll文件拷贝到硬盘的某一目录下(如C:/Jmail/Jmail.dll),然后执行命令Regsvr32 C:/Jmail/Jmail.dll即可。
2、 卸载
卸载组件是安装组件的相反动作,可以使用参数/U来卸载已安装的组件,执行命令Regsvr32 /U Jmail.dll即可。
2、 w3 Jmail4.3组件一共有十多个对象(后面将详细介绍)——这些对象中,绝大多数是针对Jmail.Message对象操作的;
3、 支持从POP3邮件服务器收取邮件;
4、 支持加密邮件的传输;
5、 快速发送,一次会话就完成邮件发送;
6、 还有一个特性就是可以使用w3 Jmail4.3组件的集群发送功能一次发送成千上万个邮件,还可以通过邮件合并(mailmerge)对象来个性化邮件。
二、详细介绍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
- /**//// <summary>
- /// 利用Jmail接收邮件
- /// </summary>
- private void ReciveByJmail()
- {
- /**////建立收邮件对象
- jmail.POP3Class popMail = new POP3Class();
- /**////建立邮件信息接口
- jmail.Message mailMessage;
- /**////建立附件集接口
- jmail.Attachments atts;
- /**////建立附件接口
- jmail.Attachment att;
- try
- {
- popMail.Connect(TxtPopUser.Text.Trim(),TxtPopPwd.Text.Trim(),TxtPopServer.Text.Trim(),Convert.ToInt32(TxtPopPort.Text.Trim()));
- /**////如果收到邮件
- if(0 < popMail.Count)
- {
- /**////根据取到的邮件数量依次取得每封邮件
- for(int i=1;i <= popMail.Count;i++)
- {
- /**////取得一条邮件信息
- mailMessage = popMail.Messages[i];
- /**////取得该邮件的附件集合
- atts = mailMessage.Attachments;
- /**////设置邮件的编码方式
- mailMessage.Charset = "GB2312";
- /**////设置邮件的附件编码方式
- mailMessage.Encoding = "Base64";
- /**////是否将信头编码成iso-8859-1字符集
- mailMessage.ISOEncodeHeaders = false;
- /**////邮件的优先级
- txtpriority.Text = mailMessage.Priority.ToString();
- /**////邮件的发送人的信箱地址
- txtSendMail.Text = mailMessage.From;
- /**////邮件的发送人
- txtSender.Text = mailMessage.FromName;
- /**////邮件主题
- txtSubject.Text = mailMessage.Subject;
- /**////邮件内容
- txtBody.Text = mailMessage.Body;
- /**////邮件大小
- txtSize.Text = mailMessage.Size.ToString();
- for(int j=0;j<atts.Count;j++)
- {
- /**////取得附件
- att = atts[j];
- /**////附件名称
- string attname = att.Name;
- /**////上传到服务器
- att.SaveToFile ("e://attFile//"+attname);
- }
- }
- panMailInfo.Visible = true;
- att = null;
- atts = null;
- }
- else
- {
- Response.Write("没有新邮件!");
- }
- popMail.DeleteMessages();
- popMail.Disconnect();
- popMail = null;
- }
- catch
- {
- Response.Write("Warning!请检查邮件服务器的设置是否正确!");
- }
- }
- C# 利用Jmail接收邮件
- C# 利用Jmail接收邮件
- C# 利用Jmail接收邮件
- c# 利用Jmail接收邮件
- C# 利用Jmail接收邮件
- C# 利用Jmail接收邮件
- 利用Jmail接收邮件
- C#之简单邮件操作-----利用JMail接收邮件
- C# 利用Jmail接收邮件(属性说明)
- 利用Jmail接收邮件,发送邮件
- c#利用jmail发送邮件
- 利用Jmail发送和接收邮件
- 利用Jmail发送和接收邮件
- 利用Jmail发送和接收邮件
- 利用Jmail发送和接收邮件
- 利用Jmail发送接收邮件的方法
- 利用Jmail接收邮件,该如何处理
- Jmail 介绍 及其 利用Jmail接收邮件 (C#)
- JDK代理
- 修改myEclipse中JSP默认打开方式为代码模式
- getaddrinfo的用法详解 .
- ZOJ 2812 Quicksum
- Android开发初体验 - 体质指数BMI.Calc
- C# 利用Jmail接收邮件
- Jmail发送和接收邮件
- Oracle 字符集的查看和修改
- android-Random随机数
- freemarker 的list问题
- 2010 水仙花数
- jQuery实战之仿Flash跳动的按钮效果
- poj 3782 Equal Sum Partitions
- 向 COM 公开 .NET Framework 组件