• 个人写的一个用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;
        }


    }

  • 相关阅读:
    [转]C# 中使用System.Net.Http.HttpClient 模拟登录博客园
    FastReport.NET 学习笔记--子分组添加事件无效的问题
    FastReport.NET 学习笔记--VS2010工具箱找不到fastreport的问题
    关于C#静态方法调用问题
    单链表——带头节点
    线性表——顺序存储结构
    重新出发
    ThreadPoolExecutor源码学习(1)-- 主要思路
    ThreadPoolExecutor源码学习(2)-- 在thrift中的应用
    [译]Cassandra的数据读写与压缩
  • 原文地址:https://www.cnblogs.com/88223100/p/1220993.html
Copyright © 2020-2023  润新知