⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 form1.cs

📁 本文档实现的功能:通过Jmail组件实现邮件的收发
💻 CS
字号:
#region 程序说明
/************************************************************
 * 程序名称:GetEmail
 * 功能说明:接收邮件,直接按“接收”按钮,可完成邮件的接收操作,参数设置由系统变量指定,不在文本框中输入。
 * 
 * 创 建 者:李高峰

 * 创建日期:2009-2-15
 * 
 * 修 订 者:李高峰
 * 修订日期:2009-3-13

 * 修订内容:btnRec_Click(object sender, EventArgs e)事件中的邮箱密码项屏蔽了,
 *           在使用本程序接收邮件时,应输入用户名称和对应的密码

 * 
 * 主要事件和方法:
 * 1)ReciveMail(string mailname, string mailpwd, string paths):接收邮件以及获取邮件信息
 * 2)btnRec_Click(object sender, EventArgs e):使用上面方法接收邮件
 ************************************************************/
#endregion

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.IO;
using jmail;

namespace GetEmail
{
    public partial class Form1 : Form
    {
        private string _mailName;
        private string _mailPwd;
        private string _paths;

        public Form1()
        {
            InitializeComponent();
        }

        #region 接收邮件方法
        /// <summary>
        /// 利用JMAIl接收邮件
        /// </summary>
        /// <param name="mailname">邮箱用户名称</param>
        /// <param name="mailpwd">邮箱密码</param>
        /// <param name="paths">路径</param>
        public static void ReciveMail(string mailname, string mailpwd, string paths)
        {
            //建立收邮件对象
            jmail.POP3Class popMail = new jmail.POP3Class();

            //建立邮件信息接口 
            jmail.Message mailMessage;

            //建立附件集接口
            jmail.Attachments atts;

            //建立附件接口
            jmail.Attachment att;

            //获取POP服务器
            //string pop="pop."+mailname.Substring(mailname.IndexOf("@")+1);
            string pop = "pop3.163.com";

            try
            {
                //连接POP3服务器
                popMail.Connect(mailname, mailpwd, pop, 110);

                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";
                        mailMessage.ISOEncodeHeaders = false;
                        //优先级别
                        string poptity = mailMessage.Priority.ToString();
                        //发送人
                        string senders = mailMessage.FromName.ToString();
                        //发送人邮件地址
                        string sendmail = mailMessage.From.ToString();
                        //主题
                        string subject = mailMessage.Subject.ToString();
                        //内容
                        string body = mailMessage.Body.ToString();
                        //发送日期
                        string date = mailMessage.Date.ToString();
                        string size = mailMessage.Size.ToString();

                        for (int j = 0; j < atts.Count; j++)
                        {
                            if (j == 0)
                            {
                                //取得附件名称
                                att = atts[j];
                                /**/
                                /**/
                                /**/
                                ///附件名称  

                                string attname = att.Name;
                                //       int k = attname.LastIndexOf(".");
                                //       string time = DateTime.Now.ToString();
                                //       time = time.Replace("-",""); 
                                //       time = time.Replace(" ","");
                                //       time = time.Replace(":","");
                                //       attname = attname.Insert(attname.LastIndexOf("."),"-"+time);
                                //       /**////上传到服务器
                                //path="D:\\Mail\\mailre\\"+attname;
                                string all = paths + "\\attFile\\";
                                string path = all + attname;
                                DirectoryInfo dir = new DirectoryInfo(all);

                                if (dir.Exists)
                                {
                                    att.SaveToFile(path);
                                }
                                else
                                {
                                    dir.Create();
                                    att.SaveToFile(path);
                                }
                            }
                        }
                        popMail.DeleteSingleMessage(i);//删除邮件
                    }
                    att = null;
                    atts = null;
                    popMail.Disconnect();
                    popMail = null;
                }
                else
                {
                    //num1 = 0;
                    att = null;
                    atts = null;
                    popMail.Disconnect();
                    popMail = null;
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
            finally
            {
                MessageBox.Show("接收成功!");
            }
        }
        #endregion

        private void btnRec_Click(object sender, EventArgs e)
        {
            //收件人邮箱名称,格式为形式"ligaofeng0927@163.com"
            _mailName = "ligaofeng0927@163.com";
            //收件人邮箱密码
            _mailPwd = "";
            //保存附件路径
            _paths = "E:";

            Form1.ReciveMail(_mailName, _mailPwd, _paths);
        }

        private void btnClose_Click(object sender, EventArgs e)
        {
            this.Close();
        }


    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -