zoukankan      html  css  js  c++  java
  • 个人写的一个用Jmail发邮件到类,测试成功

    using System;
    using System.IO;


    //杨春
    //2008-6-8

    /// <summary>
    /// Mail 的摘要说明
    /// </summary>
    public class MyMail
    {
        string publicMail = System.Configuration.ConfigurationSettings.AppSettings["PublicMail"].ToString();
        string pubicmMailPassword = System.Configuration.ConfigurationSettings.AppSettings["PublicMailPasword"].ToString();
        string mailUserName = System.Configuration.ConfigurationSettings.AppSettings["MailUserName"].ToString();
        public MyMail()
     {
      //
      // TODO: 在此处添加构造函数逻辑
      //
     }


        /// <summary>
        /// 发邮件
        /// </summary>
        /// <param name="reciver">收件人</param>
        /// <param name="title">主题</param>
        /// <param name="content">内容</param>
        /// <param name="attpath">附件</param>
        /// <returns>是否成功</returns>
        public bool SendMail(string reciver, string title, string content, string attpath)
        {
            try
            {
                if ("" == attpath)
                {
                    return SendMailByJmail(reciver, title, content);
                }
                else
                {
                    if (File.Exists(attpath) == true)
                    {
                        return SendMailByJmail(reciver, title, content, attpath);

                    }
                    else
                    {
                        return SendMailByJmail(reciver, title, content);
                    }
                }
            }
            catch (Exception ex)
            {
                return false;
                Console.Write(ex.Message);
            }

        }


        /// <summary>
        /// 发送无附件邮件
        /// </summary>
        /// <param name="reciver">收件人</param>
        /// <param name="title">主题</param>
        /// <param name="content">内容</param>
        /// <returns>是否成功</returns>
        ///
        private bool SendMailByJmail(string reciver,string title,string content)
        {
            myJmail.MessageClass JmailMessage = new myJmail.MessageClass();
            JmailMessage.Charset = "GB2312";
            JmailMessage.Encoding = "BASE64";
            JmailMessage.ContentType = "text/html";
            JmailMessage.ISOEncodeHeaders = false;
            JmailMessage.Priority = Convert.ToByte(1);
            JmailMessage.From = publicMail;
            JmailMessage.FromName = mailUserName;
            JmailMessage.Subject = title;
            JmailMessage.MailServerUserName = GetLoginNameByEmail(publicMail);
            JmailMessage.MailServerPassWord = pubicmMailPassword;
            JmailMessage.AddRecipient(reciver, "", "");
            JmailMessage.Body = content;

            if (JmailMessage.Send(GetSmtpSererByEmail(publicMail), false))
            {
                return true;
            }
            else
            {
                return false;
            }
        }

        /// <summary>
        /// 发送带附件的邮件
        /// </summary>
        /// <param name="reciver">收件人</param>
        /// <param name="title">主题</param>
        /// <param name="content">内容</param>
        /// <param name="attpath">附件路径</param>
        /// <returns>是否成功</returns>
        private bool SendMailByJmail(string reciver, string title, string content, string attpath)
        {
            myJmail.MessageClass JmailMessage = new myJmail.MessageClass();
            JmailMessage.Charset = "GB2312";
            JmailMessage.Encoding = "BASE64";
            JmailMessage.ContentType = "text/html";
            JmailMessage.ISOEncodeHeaders = false;
            JmailMessage.Priority = Convert.ToByte(1);
            JmailMessage.From = publicMail;
            JmailMessage.FromName = mailUserName;
            JmailMessage.Subject = title;
            JmailMessage.MailServerUserName = GetLoginNameByEmail(publicMail);
            JmailMessage.MailServerPassWord = pubicmMailPassword;
            JmailMessage.AddRecipient(reciver, "", "");
            JmailMessage.AddAttachment(attpath, true, attpath.Substring(attpath.LastIndexOf(".") + 1, 3));
            JmailMessage.Body = content;

            if (JmailMessage.Send(GetSmtpSererByEmail(publicMail), false))
            {
                return true;
            }
            else
            {
                return false;
            }
        }


        /// <summary>
        /// 根据Email地址得到登录名
        /// </summary>
        /// <param name="email">Email</param>
        /// <returns>登录名</returns>
        private string GetLoginNameByEmail(string email)
        {
            string loginName = email.Substring(0,email.IndexOf("@"));
            return loginName;
        }

        /// <summary>
        /// 根据Email得到Smtp服务器地址
        /// </summary>
        /// <param name="email">Email</param>
        /// <returns>stmp服务器地址</returns>
        private string GetSmtpSererByEmail(string email)
        {
            int length = email.Length;
            string smtpServer = "smtp." + email.Substring(email.IndexOf("@")+1, length - email.LastIndexOf("@")-1);
            return smtpServer;
        }


    }

  • 相关阅读:
    如何在页面上输出html标签:符号实体【转】
    js sort方法根据数组中对象的某一个属性值进行排序【转】
    原生js判断某个元素是否有指定的class名的几种方法【转】
    js支持的编码转换方法【转】
    windows mysql提示:1045 access denied for user 'root'@'localhost' using password yes 解决方案【转】
    PHP 生成随机数rand()和mt_rand()的区别【转】
    php中var关键字用法【转】
    2020软件工程个人作业06——软件工程实践总结作业
    旺宝的家——事后诸葛亮
    旺宝的家—冲刺总结
  • 原文地址:https://www.cnblogs.com/88223100/p/1220993.html
Copyright © 2011-2022 走看看