No 5 · JMail 发送和接受邮件

注:先复制文件Interop.jmail.dll到项目obj/debug中  在项目中添加引用这个dll

using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Text;
using System.Net.Mail;
//using jmail;
namespace Msg
{
    public partial class WebForm5 : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
        }
        protected void btnSend_Click(object sender, EventArgs e)
        {
            try
            {
                #region 普通方式发送
                //SmtpClient client = new SmtpClient("smtp.163.com", 25);
                //client.UseDefaultCredentials = false;
                //client.Credentials = new System.Net.NetworkCredential("kisskill521@163.com", "5841314521");
                //client.DeliveryMethod = SmtpDeliveryMethod.Network;
                //MailMessage mail = new MailMessage("kisskill521@163.com", "wf1234554321@sohu.com ", "主题", "内容部分");
                ////mail.From = "";
                ////mail.To = "";
                ////mail.Body = "";
                ////mail.Subject = "";
                //mail.IsBodyHtml = true;
                ////MailAttachment   attach=new   MailAttachment
                ////添加附件
                //Attachment item = new Attachment(@"d:\test.jpg");
                //mail.Attachments.Add(item);
                //client.Send(mail);
                #endregion
                            
                #region   JMail  的使用
                jmail.Message Jmail = new jmail.Message();
               
                //DateTime t = DateTime.Now;
                String Subject = "主题";
                String body = "测试";
                String FromEmail = "wyx_18@163.com";
                String ToEmail = "wf1234554321@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 = "text/HTML";
                ////设置优先级,范围从1到5,越大的优先级越高,3为普通
                Jmail.Priority = 5;
                ////添加收件人
                Jmail.AddRecipient(ToEmail, "", "");
                Jmail.From = FromEmail;
                ////发件人邮件用户名
                Jmail.MailServerUserName = "wyx_18";
                //发件人邮件密码
                Jmail.MailServerPassWord = "8939019";
                ////设置邮件标题
                Jmail.Subject = Subject;
                ////邮件添加附件,(多附件的话,可以再加一条Jmail.AddAttachment( "c:\\test.jpg",true,null);)就可以搞定了。[注]:加了附件,讲把上面的Jmail.ContentType="text/HTML";删掉。否则会在邮件里出现乱码。
                Jmail.AddAttachment("D:\\test.txt",true, null);
                Jmail.AddAttachment("D:\\test.jpg", true, null);
                ////邮件内容
                Jmail.Body = body;
                //Jmail发送的方法
                Jmail.Send("smtp.163.com",false);
                Jmail.Close();
                #endregion
                Response.Write("发送成功");
            }
            catch (Exception err)
            {
                Response.Write(err.Message);
            }
        }
        protected void btnShou_Click(object sender, EventArgs e)
        {
            try
            {
                #region 普通方式发送
             
                #endregion
                #region   JMail  的使用
                jmail.POP3 pop3 = new jmail.POP3();
                jmail.Message msg = null;
                //连接远程的邮箱
                pop3.Connect("kisskill521@163.com", "5841314521", "pop3.163.com", 110);
                //注意 Messages 集合是从 1 开始编号的,
                //而不是像多数集合或者数组那样从 0 开始编号。
                //这是按照国际 POP3 服务器的保存规范设置的。
                if (pop3.Count > 0)
                {
                    //得到所有的邮件
                    Response.Write("邮件总数:" + pop3.Messages.Count);
                    //得到最后未读邮件的编号
                    int index = pop3.GetLastUnreadMessage();
                    //得到最后一封未读邮件
                    msg = pop3.Messages[20];
                    //得到最后邮件的基本信息
                    //Response.Write(msg.Body + "<BR>");
                    //Response.Write(msg.From + "<BR>");
                    //Response.Write(msg.Subject + "<BR>");
                    //Response.Write(msg.Attachments.Count + "<BR>");
                    jmail.Recipients r = msg.Recipients;
                    ////好了,现在我们就掌握了这封电子邮件,它是以 Message 对象存在的
                    ////这就意味着所有被我们用在 message 对象上的属性和方法都可以被我们用在刚刚得到的这封邮件上!
                    ////我们现在应该做的只是把它的各属性读取并按照我们希望的形式在网页上显示出来。
                    ////Response.Write(pop3.GetLastUnreadMessage() + "<BR>");
                    //Response.Write(pop3.Messages.Count + "<BR>");
                    //Response.Write(r.Count + "<BR>");
                    for (int i = 0; i < r.Count; i++)
                    {
                        //收件人信息
                        Response.Write(r[i].EMail + "<BR>");
                        Response.Write(r[i].Name + "<BR>");
                        Response.Write(r[i].ReType + "<BR>");
                        //邮件信息
                        //Response.Write(msg.Body + "<BR>");
                        //Response.Write(msg.From + "<BR>");
                        //Response.Write(msg.Subject + "<BR>");
                    }
                }
                #endregion
                Response.Write("读取成功");
            }
            catch (Exception err)
            {
                Response.Write(err.Message);
            }
        }
    }
}


你可能感兴趣的:(exception,String,object,服务器,null,webform)