ASP.NET中常用功能代码总结(7)——利用Jmail发送和接收邮件

ASP.NET中常用功能代码总结(7——利用Jmail发送和接收邮件

整理:Terrylee

一.利用Jmail发送邮件

 1/// <summary>
 2/// 利用Jmail发送邮件
 3/// </summary>

 4private void SendMailByJmail()
 5{
 6    ///建立发邮件类
 7    jmail.MessageClass oJmailMessage = new jmail.MessageClass();
 8    
 9    /// 字符集
10    oJmailMessage.Charset = "GB2312";
11
12    ///附件的编码格式
13    oJmailMessage.Encoding = "BASE64";
14    oJmailMessage.ContentType = "text/html";
15
16    ///是否将信头编码成iso-8859-1字符集
17    oJmailMessage.ISOEncodeHeaders = false;
18
19    /// 优先级
20    oJmailMessage.Priority = Convert.ToByte(1);
21    
22    ///发送人邮件地址
23    oJmailMessage.From = TxtEmail.Text.Trim();
24    
25    ///发送人姓名
26    oJmailMessage.FromName    = TxtName.Text.Trim();
27
28    /// 邮件主题
29    oJmailMessage.Subject    = txtSubject.Text.Trim();
30
31    ///身份验证的用户名
32    oJmailMessage.MailServerUserName = TxtSmtpUser.Text.Trim();
33
34    ///用户密码
35    oJmailMessage.MailServerPassWord = TxtSmtpPwd.Text.Trim();
36
37    ///添加一个收件人,抄送人和密送人的添加和该方法是一样的,只是分别使用AddRecipientCC和RecipientBCC两个属性
38    ///要是需要添加多个收件人,则重复下面的语句即可。添加多个抄送和密送人的方法一样

39    oJmailMessage.AddRecipient(txtReciver.Text.Trim(),"","");
40    if("" != upFile.PostedFile.FileName)
41    {
42        string attpath = upFile.PostedFile.FileName;
43        oJmailMessage.AddAttachment(@attpath,true,attpath.Substring(attpath.LastIndexOf(".")+1,3));//添加附件
44    }

45
46    ///邮件内容
47    oJmailMessage.Body = txtContent.Text.Trim();
48
49    if(oJmailMessage.Send(TxtSmtServer.Text.Trim(),false))
50    {
51        Response.Write("发送成功!");
52    }

53    else
54    {
55        Response.Write("发送失败,请检查邮件服务器的设置!");
56    }

57
58    oJmailMessage = null;
59}

60

二.利用Jmail接收邮件

 1/// <summary>
 2/// 利用Jmail接收邮件
 3/// </summary>

 4private void ReciveByJmail()
 5{    
 6    ///建立收邮件对象
 7    jmail.POP3Class popMail = new POP3Class();
 8    
 9    ///建立邮件信息接口
10    jmail.Message mailMessage; 
11
12    ///建立附件集接口
13    jmail.Attachments atts;
14
15    ///建立附件接口
16    jmail.Attachment att;
17
18    try
19    {
20        popMail.Connect(TxtPopUser.Text.Trim(),TxtPopPwd.Text.Trim(),TxtPopServer.Text.Trim(),Convert.ToInt32(TxtPopPort.Text.Trim()));
21        
22        ///如果收到邮件
23        if(0 < popMail.Count)                                                                          
24        {    
25            ///根据取到的邮件数量依次取得每封邮件
26            for(int i=1;i <= popMail.Count;i++)                                                       
27            {
28                ///取得一条邮件信息
29                mailMessage = popMail.Messages[i];                                                        
30
31                ///取得该邮件的附件集合
32                atts = mailMessage.Attachments; 
33                
34                ///设置邮件的编码方式                          
35                mailMessage.Charset = "GB2312"
36                
37                ///设置邮件的附件编码方式                         
38                mailMessage.Encoding = "Base64"
39                
40                ///是否将信头编码成iso-8859-1字符集                        
41                mailMessage.ISOEncodeHeaders = false
42                
43                ///邮件的优先级                     
44                txtpriority.Text = mailMessage.Priority.ToString(); 
45                
46                ///邮件的发送人的信箱地址                      
47                txtSendMail.Text = mailMessage.From; 
48                
49                ///邮件的发送人                     
50                txtSender.Text = mailMessage.FromName; 
51                
52                ///邮件主题                   
53                txtSubject.Text = mailMessage.Subject; 
54                
55                ///邮件内容                   
56                txtBody.Text = mailMessage.Body; 
57                
58                ///邮件大小                        
59                txtSize.Text = mailMessage.Size.ToString();                                                          
60                
61                for(int j=0;j<atts.Count;j++)
62                {
63                    ///取得附件
64                    att = atts[j];  
65                    
66                    ///附件名称                              
67                    string attname = att.Name;                                                            
68                    
69                    ///上传到服务器
70                    att.SaveToFile("e:\\attFile\\"+attname);                                             
71                    
72                }

73                
74            }

75            panMailInfo.Visible = true;
76            att = null;
77            atts = null;
78        }

79        else
80        {
81            Response.Write("没有新邮件!");
82        }

83
84        popMail.DeleteMessages();
85        popMail.Disconnect();
86        popMail = null;
87    }

88    catch
89    {
90        Response.Write("Warning!请检查邮件服务器的设置是否正确!");
91    }

92}

 

posted @ 2005-12-02 16:35  TerryLee  阅读(5880)  评论(15编辑  收藏  举报