非常实用的jmail的几个类~~

做项目的时候,有一个需求,用户一次上传多个附件,可传1-5个。并且这5个附件上传之后,自动发到某人的email里, email的内容除了用户的资料,而且是上传的附件也做为email里的附件。

基于之前的jmail用法众多,我就开始了jamil+自己的需要来开发。

首先是jmail+.net2.0的使用,最容易的方法就是先下载一个jmail4.3.rar 这个很多,解压之后:

1.安装jmail.dll
2.把jmail.dll放在c:/下
3.系统 注册Jmail:Regsvr32 C:/jmail.dll
4.windows桌面-菜单-vs2005-v s Tools--命令提示
5.命令返回:
M......Net Framework Type Library to Assembly ......All right reserved.

Type library imported to C:/p f/M v s 8/vc/myJamil.dll

6.在用的时候,因为没有控件,所以无法添加到选项卡里,要在项目的解决方案资源管理器右键,引用-找到myJamil.dll,Bin目录里就会加入myJmail.dll

好了,基础工作己经OK,废话不说,附实现的类,记得引用空间:

3个函数,分别对应 无附件的电邮发送,单附件的电邮发送,多附件的电邮发送,使用时请修改real_sendemail_name 和  real_sendemail_pass 的值

using myJmail;//配合myJmail.dll使用

public class email
    {
        #region 发电邮相关
          public static string real_sendemail_name ="yourmail@163.com";
          public static string real_sendemail_pass ="xxx"

        /// <summary>
        ///  发送无附件的电邮(TEXT模式)~~
        /// </summary>
        /// <param name="subject">电邮主题</param> 
        /// <param name="email_body">电邮内容</param>
        /// <param name="to_email">收件人</param>
        /// <param name="from_email">发件人</param>
        public static string Send_text_email(string subject, string email_body,string to_email)
        {
            try
            {
                myJmail.Message Jmail = new myJmail.Message();
                DateTime t = DateTime.Now;
                string Subject = subject;//电邮标题
                string body = email_body;//电邮正文
                string FromEmail = real_sendemail_name.Trim().ToString();//发件人
                string ToEmail = to_email;//收件人
              
                //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";
                ToEmail = ToEmail.Replace("/n", "").Replace(" ", "");
                string[] str = ToEmail.Split(',');

                for (int i = 0; i < str.Length; i++)
                {
                    //添加收件人
                    Jmail.AddRecipient(str[i], "", "");

                    Jmail.From = FromEmail;
                    //发件人邮件用户名
                    Jmail.MailServerUserName = real_sendemail_name;
                    //发件人邮件密码
                    Jmail.MailServerPassWord = real_sendemail_pass;//FromEmail邮箱的登陆密码
                    //设置邮件标题
                    Jmail.Subject = Subject;                   

                    //邮件内容
                    Jmail.Body = body + "/n" + t.ToString();
                    //加密文件
                    //Jmail.PGPEncrypt = true;
                    //Jmail发送的方法
                    Jmail.Send("smtp.163.com", false);
                    Jmail.ClearAttachments();
                    Jmail.ClearRecipients();
                }
                Jmail.Close();
                return "发送成功";
            }
            catch (Exception ex)
            {
                return ex.Message;
            }
        }


        /// <summary>
        ///  发送单文件附件的电邮(TEXT模式)~~
        /// </summary>
        /// <param name="subject">电邮主题</param> 
        /// <param name="email_body">电邮内容</param>
        /// <param name="to_email">收件人</param>
        /// <param name="attach_floder">附件的所在目录,./attach_floder目录(相对路径)</param>
        /// <param name="attach_files_name">附件的名字</param>
        public static string Send_one_Attach_email(string subject, string email_body, string to_email,string attach_floder,string attach_files_name)
        {
            try
            {
                myJmail.Message Jmail = new myJmail.Message();
                DateTime t = DateTime.Now;
                string Subject = subject;//电邮标题
                string body = email_body;//电邮正文
                string FromEmail = real_sendemail_name.Trim().ToString();//发件人
                string ToEmail = to_email;//收件人

                string uploadpic_path = System.Web.HttpContext.Current.Server.MapPath("./" + attach_floder + "/");
                string AddAttachment = uploadpic_path + attach_files_name;
               
                //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";
                ToEmail = ToEmail.Replace("/n", "").Replace(" ", "");
                string[] str = ToEmail.Split(',');

                for (int i = 0; i < str.Length; i++)
                {
                    //添加收件人
                    Jmail.AddRecipient(str[i], "", "");

                    Jmail.From = FromEmail;
                    //发件人邮件用户名
                    Jmail.MailServerUserName = FromEmail;
                    //发件人邮件密码
                    Jmail.MailServerPassWord = real_sendemail_pass;//FromEmail邮箱的登陆密码
                    //设置邮件标题
                    Jmail.Subject = Subject;

                    Jmail.AddAttachment(AddAttachment, true, null);

                    //邮件内容
                    Jmail.Body = body + "/n" + t.ToString();
                    //加密文件
                    //Jmail.PGPEncrypt = true;
                    //Jmail发送的方法
                    Jmail.Send("smtp.163.com", false);
                    Jmail.ClearAttachments();
                    Jmail.ClearRecipients();
                }
                Jmail.Close();
                return "发送成功";
            }
            catch (Exception ex)
            {
                return ex.Message;
            }
        }


        /// <summary>
        ///  发送多文件附件的电邮(TEXT模式)~~
        /// </summary>
        /// <param name="subject">电邮主题</param> 
        /// <param name="email_body">电邮内容</param>
        /// <param name="to_email">收件人</param>
        /// <param name="attach_floder">附件的所在目录,./attach_floder目录(相对路径)</param>
        /// <param name="attach_files_name">附件的名字字符串,中间用,分隔</param>
        public static string Send_Attachs_email(string subject, string email_body, string to_email, string attach_floder, string attach_files_name)
        {
            try
            {
                myJmail.Message Jmail = new myJmail.Message();
                DateTime t = DateTime.Now;
                string Subject = subject;//电邮标题
                string body = email_body;//电邮正文
                string FromEmail = real_sendemail_name.Trim().ToString();//发件人
                string ToEmail = to_email;//收件人

                string uploadpic_path = System.Web.HttpContext.Current.Server.MapPath("./" + attach_floder + "/");

                //分隔附件的字符串
                string[] n_files = attach_files_name.Split(',');               

                //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";
                ToEmail = ToEmail.Replace("/n", "").Replace(" ", "");
                string[] str = ToEmail.Split(',');

                for (int i = 0; i < str.Length; i++)
                {
                    //添加收件人
                    Jmail.AddRecipient(str[i], "", "");

                    Jmail.From = FromEmail;
                    //发件人邮件用户名
                    Jmail.MailServerUserName = FromEmail;
                    //发件人邮件密码
                    Jmail.MailServerPassWord = real_sendemail_pass;//FromEmail邮箱的登陆密码
                    //设置邮件标题
                    Jmail.Subject = Subject;

                    for (int j = 0; j < n_files.Length; j++)
                    {                       
                        Jmail.AddAttachment(uploadpic_path + n_files[j], true, null);
                    }                   

                    //邮件内容
                    Jmail.Body = body + "/n" + t.ToString();
                    //加密文件
                    //Jmail.PGPEncrypt = true;
                    //Jmail发送的方法
                    Jmail.Send("smtp.163.com", false);
                    Jmail.ClearAttachments();
                    Jmail.ClearRecipients();
                }
                Jmail.Close();
                return "发送成功";
            }
            catch (Exception ex)
            {
                return ex.Message;
            }
        }
        #endregion 发电邮相关
    }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值