Beispiel #1
0
        public void Test(string cmdStr, int count)
        {
            var mail = new Mail();
            mail.AppendLine(Encoding.ASCII.GetBytes("\r\n"));//区切り行(ヘッダ終了)
            mail.AppendLine(Encoding.ASCII.GetBytes(cmdStr));//区切り行(ヘッダ終了)
            var mlCmd = new MlCmd(null, mail, _user1);

            Assert.AreEqual(mlCmd.Cast<object>().Count(),count); // コマンド数
        }
Beispiel #2
0
        public Mail CreateClone()
        {
            var mail = new Mail();

            //�w�b�_�s
            _header.ForEach(s => mail.AppendLine(Encoding.ASCII.GetBytes(s)));
            //��؂�s
            mail.AppendLine(Encoding.ASCII.GetBytes("\r\n"));
            //�{��
            _body.ForEach(d => mail.AppendLine(d));
            return(mail);
        }
Beispiel #3
0
        public TsMail(string from, string to, string bodyStr)
        {
            Mail = new Mail();
            Mail.AppendLine(Encoding.ASCII.GetBytes("\r\n"));//区切り行(ヘッダ終了)
            var body = Encoding.ASCII.GetBytes(bodyStr);
            Mail.AppendLine(body);
            Mail.AddHeader("from", from);
            Mail.AddHeader("to", to);

            const string host = "TEST";
            var addr = new Ip("10.0.0.1");
            MlEnvelope = new MlEnvelope(CreateMailAddress(from), CreateMailAddress(to), host, addr);
        }
Beispiel #4
0
        public void Test(string cmdStr, MlCmdKind mlCmdKind, string paramStr)
        {
            var mail = new Mail();
            mail.AppendLine(Encoding.ASCII.GetBytes("\r\n"));//区切り行(ヘッダ終了)
            mail.AppendLine(Encoding.ASCII.GetBytes(cmdStr));//区切り行(ヘッダ終了)
            var mlCmd = new MlCmd(null, mail, _user1);

            Assert.AreEqual(mlCmd.Cast<object>().Count(),1); // コマンド数は1

            foreach (OneMlCmd oneMlCmd in mlCmd) {
                Assert.AreEqual(oneMlCmd.CmdKind,mlCmdKind);
                Assert.AreEqual(oneMlCmd.ParamStr,paramStr);
                break;
            }
        }
Beispiel #5
0
        //メールを添付する
        public Mail Attach(string subject, Mail orgMail)
        {
            var mail = new Mail();

            mail.AppendLine(Encoding.ASCII.GetBytes("\r\n"));//区切り行(ヘッダ終了)
            //ヘッダ作成
            mail.AddHeader("subject", subject);
            //本文作成
            mail.AppendLine(Encoding.ASCII.GetBytes(subject + "\r\n"));
            mail.AppendLine(Encoding.ASCII.GetBytes("\r\n"));
            mail.AppendLine(Encoding.ASCII.GetBytes("Original mail as follows:\r\n"));
            mail.AppendLine(Encoding.ASCII.GetBytes("\r\n"));
            //オリジナルメールの添付
            var body = Inet.GetLines(orgMail.GetBytes());
            foreach (var buf in body) {
                mail.AppendLine(Encoding.ASCII.GetBytes("  "));//行頭に空白を追加
                mail.AppendLine(buf);
            }
            return mail;
        }
Beispiel #6
0
        //元メールを添付して管理者へ送る
        public bool AttachToAmdin(Mail orgMail, string subject, MlEnvelope mlEnvelope)
        {
            //メール生成
            var mail = new Mail();
            mail.AppendLine(Encoding.ASCII.GetBytes("\r\n"));//区切り行(ヘッダ終了)
            mail.AddHeader("subject", subject);
            mail.AppendLine(Encoding.ASCII.GetBytes(subject + "\r\n"));
            mail.AppendLine(Encoding.ASCII.GetBytes("\r\n"));
            mail.AppendLine(Encoding.ASCII.GetBytes("Original mail as follows:\r\n"));
            mail.AppendLine(Encoding.ASCII.GetBytes("\r\n"));
            //オリジナルメールの添付
            var body = Inet.GetLines(orgMail.GetBytes());
            foreach (var buf in body) {
                mail.AppendLine(Encoding.ASCII.GetBytes("  "));//行頭に空白を追加
                mail.AppendLine(buf);
            }

            //宛先設定 from<->To from = mailDaemon
            mail.ConvertHeader("from", _mlAddr.Admin.ToString());
            //配送
            return SendAllAdmin(mlEnvelope.ChangeFrom(_mlAddr.Admin), mail);
        }
Beispiel #7
0
 public Mail CreateClone()
 {
     var mail = new Mail();
     //�w�b�_�s
     _header.ForEach(s => mail.AppendLine(Encoding.ASCII.GetBytes(s)));
     //��؂�s
     mail.AppendLine(Encoding.ASCII.GetBytes("\r\n"));
     //�{��
     _body.ForEach(d => mail.AppendLine(d));
     return mail;
 }
Beispiel #8
0
        //エラーメールの作成
        Mail MakeErrorMail(MailAddress from, MailAddress to, string reason, List<string> lastLog)
        {
            var mail = new Mail();
            const string boundaryStr = "BJD-Boundary";

            mail.AppendLine(Encoding.ASCII.GetBytes(string.Format("From: Mail Delivery Subsystem <{0}>\r\n", @from)));
            mail.AppendLine(Encoding.ASCII.GetBytes(string.Format("To: {0}\r\n", to)));
            mail.AppendLine(Encoding.ASCII.GetBytes("Subject: Returned mail: see transcript for details\r\n"));
            mail.AppendLine(Encoding.ASCII.GetBytes("MIME-Version: 1.0\r\n"));

            mail.AppendLine(Encoding.ASCII.GetBytes("Content-Type: multipart/mixed;\r\n"));
            mail.AppendLine(Encoding.ASCII.GetBytes(string.Format(" boundary=\"{0}\"\r\n", boundaryStr)));
            mail.AppendLine(Encoding.ASCII.GetBytes("\r\n"));//ヘッダ終了

            mail.AppendLine(Encoding.ASCII.GetBytes(string.Format("--{0}\r\n", boundaryStr)));
            mail.AppendLine(Encoding.ASCII.GetBytes("\r\n"));
            mail.AppendLine(Encoding.ASCII.GetBytes(string.Format("The original message was received at {0}\r\n", _oneQueue.MailInfo.Date)));
            mail.AppendLine(Encoding.ASCII.GetBytes(string.Format("from {0}[{1}]\r\n", _oneQueue.MailInfo.Host, _oneQueue.MailInfo.Addr)));
            mail.AppendLine(Encoding.ASCII.GetBytes("\r\n"));

            if (lastLog.Count >= 2) {
                mail.AppendLine(Encoding.ASCII.GetBytes("    ----- The following addresses had parmanent fatal errors -----\r\n"));
                mail.AppendLine(Encoding.ASCII.GetBytes(string.Format("<{0}>\r\n", _oneQueue.MailInfo.To)));
                mail.AppendLine(Encoding.ASCII.GetBytes(string.Format("   (reason:: {0})\r\n", lastLog[1])));
                mail.AppendLine(Encoding.ASCII.GetBytes("\r\n"));
                mail.AppendLine(Encoding.ASCII.GetBytes("    ----- Transcript of session follws -----\r\n"));
                mail.AppendLine(Encoding.ASCII.GetBytes(string.Format("... while talking to {0}\r\n", _oneQueue.MailInfo.To.Domain)));
                mail.AppendLine(Encoding.ASCII.GetBytes(string.Format(">>> {0}\r\n", lastLog[0])));
                mail.AppendLine(Encoding.ASCII.GetBytes(string.Format("<<< {0}\r\n", lastLog[1])));
                mail.AppendLine(Encoding.ASCII.GetBytes("\r\n"));
            } else {
                mail.AppendLine(Encoding.ASCII.GetBytes("    ----- The following addresses had parmanent fatal errors -----\r\n"));
                mail.AppendLine(Encoding.ASCII.GetBytes(string.Format("<{0}>\r\n", _oneQueue.MailInfo.To)));
                mail.AppendLine(Encoding.ASCII.GetBytes(string.Format("   (reason:: {0})\r\n", reason)));
                mail.AppendLine(Encoding.ASCII.GetBytes("\r\n"));
                mail.AppendLine(Encoding.ASCII.GetBytes("    ----- Transcript of session follws -----\r\n"));
                mail.AppendLine(Encoding.ASCII.GetBytes(string.Format("{0}\r\n", reason)));
                mail.AppendLine(Encoding.ASCII.GetBytes("\r\n"));
            }

            mail.AppendLine(Encoding.ASCII.GetBytes(string.Format("--{0}\r\n", boundaryStr)));
            mail.AppendLine(Encoding.ASCII.GetBytes("Content-Type: message/rfc822\r\n"));
            mail.AppendLine(Encoding.ASCII.GetBytes("\r\n"));

            //string str = oneQueue.Mail(mailQueue).ToString();//メール本体
            //mail.AppendLine(Encoding.ASCII.GetBytes(str));
            //Ver5.0.0_Ml
            mail.AppendLine(_oneQueue.Mail(_mailQueue).GetBytes());//メール本体

            mail.AppendLine(Encoding.ASCII.GetBytes(string.Format("--{0}--\r\n", boundaryStr)));

            return mail;
        }
Beispiel #9
0
        Mail Create(string subject, string contentType, byte[] body)
        {
            var mail = new Mail();
            mail.AppendLine(Encoding.ASCII.GetBytes("\r\n"));//区切り行(ヘッダ終了)
            //ヘッダ作成
            mail.AddHeader("subject", subject);
            mail.AddHeader("Content-Type", contentType);
            mail.AddHeader("from", _mlAddr.Admin.ToString());
            mail.AddHeader("date", Util.LocalTime2Str(DateTime.Now));//日付

            //本文作成
            mail.AppendLine(body);
            return mail;
        }
Beispiel #10
0
 Mail Create(string subject, string contentType, byte[] body)
 {
     var mail = new Mail();
     mail.AppendLine(Encoding.ASCII.GetBytes("\r\n"));//区切り行(ヘッダ終了)
     //ヘッダ作成
     mail.AddHeader("subject", subject);
     mail.AddHeader("Content-Type", contentType);
     //本文作成
     mail.AppendLine(body);
     return mail;
 }