コード例 #1
0
ファイル: Program.cs プロジェクト: fuzhx/cmds
        /// <summary>
        /// 读取文件并发送邮件的代码
        /// </summary>
        /// <param name="args"></param>
        static void Main(string[] args)
        {
            // EmailName=qq89616537 EmailSmtpServer=smtp.163.com [email protected] EmailPwd=123 EnableSsl=false [email protected];[email protected]; EmailTitle={DateTime.Now}-远程访问服务器 EmailText=远程访问服务器提示 EmailEncoding=gb2312 HtmlFlag=false PwdTextType=des3 EmailTextType=file DirFullName=~/ FileNameExpress=loginip.log ReadFileEncoding=gb2312 EmailTextFileMaxLength=0 FileNameToLower=true
            Util ut = new Util();

            try
            {
                ReadFileAndSendEmailConfig ec = ut.Config_Create(args);

                string theResult = ut.DoOper(ec);

                if (theResult == null || theResult.Length == 0)
                {
                    Console.WriteLine("操作成功");
                }
                else
                {
                    Console.WriteLine(theResult);
                }
            }
            catch (Exception err)
            {
                Console.WriteLine(err.Message);
            }
        }
コード例 #2
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="ec"></param>
        /// <returns></returns>
        public string DoOper(ReadFileAndSendEmailConfig ec)
        {
            if (ec == null)
            {
                return("配置错误:ReadFileAndSendEmailConfig为null");
            }


            string validResult = ec.ValidConfig();

            if (validResult != null && validResult.Length > 0)
            {
                return(validResult);
            }

            // 判断 //
            bool readFileFlag = IsReadFileOper(ec.EmailTextType.InfoValue);

            if (!readFileFlag)
            {
                string strEmailText = TextConvertTo(ec.EmailText.InfoValue);
                return(SendEmail(ec, strEmailText));
            }

            string emailText = ToEmailText(ec);


            return(SendEmail(ec, emailText));
        }
コード例 #3
0
ファイル: EmailConfigUtil.cs プロジェクト: fuzhx/cmds
        /// <summary>
        ///
        /// </summary>
        /// <param name="args"></param>
        /// <returns></returns>
        public ReadFileAndSendEmailConfig Config_Create(string[] args)
        {
            ReadFileAndSendEmailConfig theResult = new ReadFileAndSendEmailConfig();

            List <KeyValueItem> kvList = ArgsToKeyValue(args);

            if (kvList == null || kvList.Count == 0)
            {
                return(theResult);
            }

            foreach (KeyValueItem kv in kvList)
            {
                if (kv == null)
                {
                    continue;
                }

                theResult.BaseInfoSetValue(kv.ID, kv.TheName, false);
            }

            return(theResult);
        }
コード例 #4
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="ec"></param>
        /// <returns></returns>
        protected string ToEmailText(ReadFileAndSendEmailConfig ec)
        {
            string dirName = ec.DirFullName.InfoValue;

            if (dirName == null || dirName.Length == 0)
            {
                return("[配置异常]:没有指定目录名");
            }

            dirName = dirName.Trim();

            if (dirName.Length == 0)
            {
                return("[配置异常]:没有指定目录名");
            }

            if (dirName == "~/")
            {
                // 如: D:\Projects\eKing.CmdCodeOper\eKing.CmdCodeOper\bin\Debug\
                dirName = System.AppDomain.CurrentDomain.BaseDirectory;
            }

            DirectoryInfo dirInfo = new DirectoryInfo(dirName);

            if (!dirInfo.Exists)
            {
                return("[配置异常]:" + dirInfo.FullName + "不存在");
            }

            string fileFullName = FindLastFileName(dirInfo, ec.FileNameExpress.InfoValue, ec.FileNameToLower.InfoValue);

            if (fileFullName == null || fileFullName.Length == 0)
            {
                return("[配置异常]:" + dirInfo.FullName + "下没有找到符合条件的文件");
            }

            FileInfo fi = new FileInfo(fileFullName);

            if (!fi.Exists)
            {
                return("[配置异常]:文件:" + fi.FullName + "不存在");
            }

            if (ec.EmailTextFileMaxLength.InfoValue > 0)
            {
                if (fi.Length > ec.EmailTextFileMaxLength.InfoValue)
                {
                    return("文件:" + fi.FullName + "过大,这里仅显示文件名");
                }
            }

            System.Text.Encoding en
                =
                    EncodingGet(ec.ReadFileEncoding.InfoValue);
            try
            {
                return(File.ReadAllText(fi.FullName, en));
            }
            catch (Exception err)
            {
                return("[读取文件异常]:(文件)" + fi.FullName + "(异常内容)" + err.Message);
            }
        }