using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using jmail;
using SP_Model;
using System.Reflection;

namespace StringFormat
{
    public class ClassServerConnect
    {
        /// <summary>
        ///根据邮箱地址获取邮箱链接服务器
        /// </summary>
        /// <param name="MailAddress">邮箱地址</param>
        /// <returns>返回值:邮箱链接服务器</returns>
        public static string FunGetMailServer(string MailAddress)
        {
            //////////////////////////////////////////////////////////////////////////
            //获得pop3邮件服务器
            int nIndex = MailAddress.IndexOf('@');
            //邮件服务器
            string MailServer = "pop.";
            MailServer += MailAddress.Substring(nIndex + 1);
            //////////////////////////////////////////////////////////////////////////
            //返回值
            return MailServer;
        }
        /// <summary>
        /// 邮箱链接
        /// </summary>
        /// <param name="MailAddress">邮箱地址:;例xiaoyueweiguang@163.com    </param>
        /// <param name="MailPsw">邮箱密码:例123456</param>
        /// <returns>链接返回值:true,成功;false,失败</returns>
        public static bool FunMailConnect(string MailAddress, string MailPsw, string MailServer, jmail.POP3Class pop3)
        {
            //链接邮箱返回值
            bool connectResult = true;
            //////////////////////////////////////////////////////////////////////////
            ///连接邮件服务器
            ///110为pop3默认端口号
            try
            {
                pop3.Connect(MailAddress, MailPsw, MailServer, 110);
            }
            catch (System.Exception e)
            {
                connectResult = false;
            }
            //////////////////////////////////////////////////////////////////////////
            //链接返回值:true,成功;false,失败
            return connectResult;
        }

        /// <summary>
        /// 断开邮箱链接
        /// </summary>
        /// <param name="pop3 ">jmail.POP3Class 的一个实例</param>
        public static void FunMailDisconnect(jmail.POP3Class pop3Instance)
        {
            //登录时,退出
            if (pop3Instance.Logging == true)
            {
                pop3Instance.Disconnect();
            }
        }

        /// <summary>
        /// 向邮箱中写入一封邮件
        /// </summary>
        /// <param name="pop3Instance"></param>
        /// <returns>
        /// 第一个值:0代表成功,1代表失败
        /// 第二个值:失败异常提示
        /// </returns>
        public static List<string> FunMailAdd(Server_MailSend MailSendInstance, string MailAddServer)
        {
            List<string> listReturnMsg = new List<string>();
            Message messageInstance = new MessageClass();       

            try
            {
                //////////////////////////////////////////////////////////////////////////
                //邮件信息
               messageInstance.AddRecipient(MailSendInstance.ReceiveEmail,"","");//收件人邮箱地址,收件人姓名为空
                messageInstance.From = MailSendInstance.SendEmail;//发件人邮箱地址
                messageInstance.FromName = "";//发件人姓名
                messageInstance.Subject = MailSendInstance.Title;//邮件主题
                messageInstance.Body = MailSendInstance.Content;//邮件正文
                messageInstance.Priority = 3;//邮件优先级
                messageInstance.Charset = "GB2312";                  //字符集
 
                //////////////////////////////////////////////////////////////////////////
                //发送邮件中,添加附件jmail.dll
                //string sApplicationPath = Assembly.GetExecutingAssembly ( ).Location;               

                //result: X:\xxx\xxx\xxx.dll (.dll文件所在的目录+.dll文件名)
                //sApplicationPath = sApplicationPath.Substring(0, sApplicationPath.LastIndexOf('\\'));//删除文件名
                //sApplicationPath = sApplicationPath + "\\jmail.dll";
                //或者
                //messageInstance.AddAttachment("D:\\我的文档\\My Documents\\Visual Studio 2005\\Projects\\e门诊\\SmsDemo\\MailServer\\bin\\Debug\\jmail.dll", true, "dll");
                //messageInstance.AddAttachment(sApplicationPath, true, "dll");
                //////////////////////////////////////////////////////////////////////////

                //发送邮件
                messageInstance.Send(MailAddServer, false);
                //注意这里,一定要关闭连接   否则邮件发不出去
                messageInstance.Close();

                listReturnMsg.Add("0");
            }
            catch (System.Exception e)
            {
                listReturnMsg.Add("1");
                listReturnMsg.Add(e.Message);
            }
            return listReturnMsg;
        }

    }
}

 

posted on 2013-03-21 20:07  爱哎唉  阅读(224)  评论(0)    收藏  举报