一.利用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}
 
 
 

1.安装jmail4.3 
2.找到jmail.dll 引用到项目中。

using jmail;
....................

jmail.Message Jmail = new jmail.Message();

DateTime t = DateTime.Now;
String Subject = "haohao 学习 天天向上";
String body = "你好 《》<br><b>科学</b>12:15";
String FromEmail = "escdns@gmail.com";
String ToEmail = "woolern@sohu.com";
//Silent属性:如果设置为true,JMail不会抛出例外错误. JMail. Send( () 会根据操作结果返回true或false
Jmail.Silent = true;
//Jmail创建的日志,前提loging属性设置为true
Jmail.Logging = true;
//字符集,缺省为"US-ASCII"
Jmail.Charset = "GB2312";
//信件的contentype. 缺省是"text/plain") : 字符串如果你以HTML格式发送邮件, 改为"text/html"即可。
//Jmail.ContentType = "Multipart/Mixed";
//添加收件人(若几个收件人就添加几行下面的代码)
Jmail.AddRecipient(ToEmail, "", "");
//Jmail.AddRecipientCC,Jmail.AddRecipientBCC (抄送,密送,用法同Jmail.AddRecipient)
Jmail.From = FromEmail;
//发件人邮件用户名
Jmail.MailServerUserName = "woolern@sohu.com";
//发件人邮件密码
Jmail.MailServerPassWord = "********";
//设置邮件标题
Jmail.Subject = Subject;
//邮件添加附件,(多附件的话,可以再加一条Jmail.AddAttachment( "c:\\test.jpg",true,null);)就可以搞定了。

//[注]:加了附件,讲把上面的Jmail.ContentType="text/html";删掉。否则会在邮件里出现乱码。
Jmail.AddAttachment("c:\\img200610311000250.jpg", true, null);
//邮件内容,(若为纯文本就改为Jmail.Body )
Jmail.HTMLBody = body;
//Jmail发送的方法
Jmail.Send("smtp.sina.net", false);
Jmail.Close();

学习笔记Jmail收发邮件的更多相关文章

  1. python学习笔记(SMTP邮件发送)

    想着给框架添加邮件发送功能.所以整理下python下邮件发送功能 首先python是支持邮件的发送.内置smtp库.支持发送纯文本.HTML及添加附件的邮件 之后是邮箱.像163.qq.新浪等邮箱默认 ...

  2. python学习笔记(SMTP邮件发送:带附件)

    博主有段时间没有更新博客了 先整理一个之前整理过的SMTP邮件发送,这次是带附件的功能 #!/usr/bin/env python # -*- coding: utf_8 -*- from email ...

  3. socket学习笔记——实现收发文件(Windows)

    记录下来,供自己学习! server.c #define _CRT_SECURE_NO_DEPRECATE #include <stdio.h> #include <stdlib.h ...

  4. Python3学习笔记29-发送邮件

    email模块用来构造邮件,smtplib模块用来发送邮件. 以QQ邮箱为例 想要在代码中使用QQ邮箱发送邮件,需要先在QQ邮箱-设置-账户中,开启SMTP服务,然后生成授权码.在进行验证账号时,用生 ...

  5. Python学习笔记18-发送邮件

    SMTP是发送邮件的协议,Python内置对SMTP的支持,可以发送纯文本邮件.HTML邮件以及带附件的邮件. Python对SMTP支持有smtplib和email两个模块,email负责构造邮件, ...

  6. ActiveMQ学习笔记(5)——使用Spring JMS收发消息

      摘要 ActiveMQ学习笔记(四)http://my.oschina.net/xiaoxishan/blog/380446 中记录了如何使用原生的方式从ActiveMQ中收发消息.可以看出,每次 ...

  7. Dynamic CRM 2013学习笔记(三十四)自定义审批流5 - 自动邮件通知

    审批过程中,经常要求自动发邮件:审批中要通知下一个审批人进行审批:审批完通知申请人已审批完:被拒绝后,要通知已批准的人和申请人.下面详细介绍如何实现一个自动发邮件的插件:   1. 根据审批状态来确定 ...

  8. Delphi中,indy控件实现收发邮件的几点学习记录( 可以考虑加入多线程,用多个邮箱做一个邮箱群发器) 转

    关于用Delphi中的Indy控件实现收发邮件的几点学习记录             这几天心里颇不宁静,不是因为项目延期,而是因为自己几个月前做的邮件发送程序至今无任何进展,虽然一向谦虚的人在网上发 ...

  9. DouNet学习_收发邮件

    一.收发邮件 --->第一步:发邮件首先要有发送者的邮箱地址和登录的密码才能发送 这些都写在APP里  不要写死 --->第二步:发邮件就要有网络,要添加net.Mail命名空间 要发送的 ...

随机推荐

  1. lua OOP实现对象的链式调用

    数学中的链式法则 http://sx.zxxk.com/ArticleInfo.aspx?InfoID=164649 链式微分法则:实数运算的链式法则:对数运算的链式法则:平行公理的链式法则:向量运算 ...

  2. FlashFXP5_gr坑爹的故事

    数据中心说已把数据存放到ftp上,但我通过flashfxp5工具链接到ftp server查看数据中心存放的数据,一天了都没有看到数据结果,经过我反复多次重新链接否没有发现数据中心所说的最新数据结果, ...

  3. Node.js的核心与红利(zz)

    唯有明晰历史,才能了然当下,预知未来.作者从历史角度解读Node.js,帮助读者透过猜忌和谣言,看清真实的Node.js,了解Node.js的核心与红利. 令人惴惴不安的Node.js 我们越来越频繁 ...

  4. node与Elment以及子节点childrenNode与children的区别(2)

    测试代码: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF ...

  5. JS中Float类型加减乘除 修复

    MXS&Vincene  ─╄OvЁ  &0000027─╄OvЁ  MXS&Vincene MXS&Vincene  ─╄OvЁ:今天很残酷,明天更残酷,后天很美好, ...

  6. TCP/IP学习-链路层

    链路层: 路径MTU: 网络层: ifconfig netstat IP首部 网络字节序:大端字节序

  7. WordPress 添加Meta Box的方法步骤

    需要使用到add meta boxes Action,该Action允许我们为任何文章类型注册Meta Box,在该Action中,我们需要使用add_meta_box()方法来添加Meta Box的 ...

  8. C# XmlSerializer实现序列化浅析

    C# XmlSerializer类是实现序列化的一个类,那么关于C# XmlSerializer的学习我们要掌握怎么样的操作方法呢?那么这里向你详细介绍具体的操作细节情况. C# XmlSeriali ...

  9. ShadowGun Demo学习(非技术向)

    主要针对拿来主义,并对一些使用范围广的shader进行研究.虽然是4,5年前的demo,但还是有学习价值的 1.GodRays MADFINGER/Transparent/GodRays 传统的上帝之 ...

  10. noi 8462 大盗阿福

    题目链接:http://noi.openjudge.cn/ch0206/8462/ 相邻的两个不能同时取, d[i] = max(d[i-1],d[i-2]+a[i]); http://paste.u ...