Exemple #1
0
        /// <summary>
        /// 메일발송 - DataPack
        /// </summary>
        /// <param name="lo_dp"></param>
        /// <returns></returns>
        public string SendMail(DataPack lo_dp)
        {
            try
            {
                this.from = String.IsNullOrEmpty(lo_dp["From"].ToString()) ? "" : lo_dp["From"].ToString();
                this.to = String.IsNullOrEmpty(lo_dp["To"].ToString()) ? "" : lo_dp["To"].ToString();
                this.subject = String.IsNullOrEmpty(lo_dp["Subject"].ToString()) ? "NO TITLE" : lo_dp["Subject"].ToString();
                this.body = String.IsNullOrEmpty(lo_dp["Body"].ToString()) ? "NO CONTENTS" : lo_dp["Body"].ToString();
                this.isBodyHtml = String.IsNullOrEmpty(lo_dp["IsBodyHtml"].ToString()) ? false : Convert.ToBoolean(lo_dp["IsBodyHtml"].ToString());

                MailMessage msg = new MailMessage();
                msg.From = new MailAddress(from.Trim());
                msg.To.Add(new MailAddress(to.Trim()));
                msg.Subject = subject.Trim();
                msg.Body = body.Trim();
                msg.BodyEncoding = BodyEncoding;
                msg.IsBodyHtml = isBodyHtml;

                SmtpClient sc = new SmtpClient();
                sc.Host = hostName;
                sc.Send(msg);

                //로깅
                if (WebConfig.SMFramework["Mail.Logging"].ToUpper() == "TRUE")
                {
                    _mailLog = new ErrorLog("Mail", "SMFramework", WebConfig.SMFramework["Mail.LogFile"]);

                    DataPack lo_dp_header = new DataPack();

                    string[] keys = msg.Headers.AllKeys;
                    foreach (string s in keys)
                    {
                        lo_dp_header.AddProperty(s, typeof(string), msg.Headers[s]);
                    }
                    lo_dp_header.AddProperty("host", typeof(string), hostName);
                    lo_dp_header.AddProperty("subject", typeof(string), subject);
                    lo_dp_header.AddProperty("isBodyHtml", typeof(string), isBodyHtml.ToString());
                    lo_dp_header.AddProperty("bodyEncoding", typeof(string), msg.BodyEncoding.BodyName);

                    string ls_msg = Utility.ConversionUtil.ExtractDataInfo("--- SendMail Result ---", lo_dp_header);

                    ls_msg = ls_msg.Replace("<br>", "\r\n");

                    _mailLog.WriteLogMessage(ls_msg, System.Diagnostics.EventLogEntryType.Information);
                }
            }
            catch (Exception e)
            {
                _mailLog.WriteLogMessage(e.Message, System.Diagnostics.EventLogEntryType.Error);
                return e.Message;
            }
            return "OK";
        }