C# 利用Jmail接收邮件[转]

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

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接收邮件[转],布布扣,bubuko.com

时间: 2024-12-04 22:53:49

C# 利用Jmail接收邮件[转]的相关文章

JavaMail实现收发邮件——(三)接收邮件

JavaMail接收邮件和发送邮件基本一致,大体上是把Transport换成了Store.不过和发送相比,难点是对接收到的邮件进行解析,不然看起来就跟乱码一样.之所以解析这一块难,就在于一封未知的邮件你不知道它的结构是怎样的,因此需要我们通过判断一步步解析.对于这一点,我也不是很清楚,所以下面我就瞎写一点基础的. 一.首先连接POP3服务器获取邮件 (1)创建Properties对象以及Session对象 // 创建一个有具体连接信息的Properties对象   Properties prop

C#接收邮件附件

接收邮件类 using System; using System.Net.Sockets; using System.Net; using System.Security.Cryptography; using System.IO; using System.Data; namespace Common { /// <summary> /// 获取邮件的类 /// </summary> public class POP3 { private string m_Address = &

Windows下利用rsync实现邮件服务器数据的同步

Windows下利用rsync实现邮件服务器数据的同步 背景环境 对系统管理员来说,平时的工作重心应该集中在维护 系统正常运转,能够正常提供服务上,这里往往牵涉到 一个数据备份的问题,在我所了解的情况中,有80%的系统管理员不是太关心自己服务器的安全性,但往往对 备份镜像的技术相当感兴趣,但由于商业产品的软硬件价格都相当高昂,因此往往会选择自由软件.rsync就 是这样的软件,它可以满足绝大多数要求不是特 别高的备份需求.适用于数据不是很大,海量小的文件的存储备份,结合服务器本身的磁盘阵列技术,

利用phpmailer类邮件发送

<?php require("class.phpmailer.php"); //下载的文件必须放在该文件所在目录 $mail = new PHPMailer(); //建立邮件发送类 $address = "接收方邮箱"; //接收方地址 $mail->IsSMTP(); //使用SMTP方式发送 $mail->Host = "发送者邮箱smtp"; //您的企业邮局域名 $mail->SMTPAuth = true; /

Android Java使用JavaMail API发送和接收邮件的代码示例

JavaMail是Oracle甲骨文开发的Java邮件类API,支持多种邮件协议,这里我们就来看一下Java使用JavaMail API发送和接收邮件的代码示例 使用Javamail发送邮件,必需的jar包(请下载javamail的源文件,官方下载页:http://www.oracle.com/technetwork/java/javamail/index-138643.html):mailapi.jar.定义了收发邮件所使用到的接口API:smtp.jar.包含了发送邮件使用到的类:pop3.

利用Javamail接收QQ邮箱和Gmail邮箱(转)

求大神解答 Java代码: public class SendMailController { //@Autowired private JavaMailSenderImpl mailSender; @RequestMapping(value ="/sendMail", method = RequestMethod.GET) public void sendMail(HttpServletRequest request) throws MessagingException { mail

linux(CentOS)之postfix服务器Dovecot接收邮件

一.安装Dovecot来接收邮件,使用rpm方式安装完dovecot软件以后,需要经过一些修改才能正常使用. 首先,直接使用系统的yum源安装dovecot yum install dovecot 修改配置文件 1. 在/etc/dovecot/dovecot.conf中修改 protocols = imap pop3 lmtp    支持的协议 login_trusted_networks = 192.168.10.0/24   //指定允许登录的网段地址 这样在使用outlook客户端登录的

Delphi 使用Indy的TidPOP3接收邮件

最近测试了下delphi的Indy控件包中的TIdPOP3接收邮件功能,由于有些邮件服务器必须支持加密方式,所以,本测试直接使用的是加密方式(SSL),如果不需要加密方式,只需要更改服务端口以及断开POP3控件的IOHandler即可. 使用中应该先连接服务器,然后在进行读取或者删除处理,之后要断开服务器. 程序代码如下: {新的POP3邮件接收函数包,使用POP3的协议 对于没有加密(SLL)的端口为:110 如果使用SSL加密协议,端口号:995 函数包提供 连接,读取,删除,断开 四个函数

python中使用poplib模块接收邮件

目的:用poplib模块接收邮件,并处理文本内容. 环境:windows 7 Python 3.5.3 情景:服务器一般预警都会有邮件通知,如果通知比较多且邮箱还会收到其他的邮件时,这时从中整理出预警信息并统计的话,这个也算是一个比较重复繁琐的事,可以用脚本自动收集信息,并整理相关信息到表格内,方便查看. 使用邮件模块接收邮件需要导入poplib,这个模块是内置的. import poplib # 服务器及用户信息 email = '邮箱地址' username = '登录用户名' passwo