Exemple #1
0
        private void sendPoster(string filename)
        {
            FileInfo f = new FileInfo(filename);
            string   local_filename = f.Name;

            Chilkat.MailMan mailman = new Chilkat.MailMan();
            bool            success;

            success = mailman.UnlockComponent("HAFSJOMAILQ_9QYSMgP0oR1h");
            if (success != true)
            {
                throw new Exception(mailman.LastErrorText);
            }

            //  Use the GMail SMTP server
            mailman.SmtpHost = Program.Smtphost;
            mailman.SmtpPort = int.Parse(Program.Smtpport);
            mailman.SmtpSsl  = bool.Parse(Program.Smtpssl);

            //  Set the SMTP login/password.
            mailman.SmtpUsername = Program.Smtpuser;
            mailman.SmtpPassword = Program.Smtppasswd;

            //  Create a new email object
            Chilkat.Email email = new Chilkat.Email();

            email.Subject = "Puls3060 Regnskab: " + local_filename;
            email.Body    = "Puls3060 Regnskab: " + local_filename;

            //email.AddTo(Program.MailToName, Program.MailToAddr);
            email.From    = Program.MailFrom;
            email.ReplyTo = Program.MailReply;
            email.AddBcc(Program.MailToName, Program.MailToAddr);

            email.AddFileAttachment(filename);
            email.UnzipAttachments();

            success = mailman.SendEmail(email);
            if (success != true)
            {
                throw new Exception(email.LastErrorText);
            }
        }
        public void sendRykkerEmail(string ToName, string ToAddr, string subject, string body)
        {
            Chilkat.MailMan mailman = new Chilkat.MailMan();
            bool            success;

            success = mailman.UnlockComponent("HAFSJOMAILQ_9QYSMgP0oR1h");
            if (success != true)
            {
                throw new Exception(mailman.LastErrorText);
            }

            //  Use the GMail SMTP server
            mailman.SmtpHost = Program.Smtphost;
            mailman.SmtpPort = int.Parse(Program.Smtpport);
            mailman.SmtpSsl  = bool.Parse(Program.Smtpssl);

            //  Set the SMTP login/password.
            mailman.SmtpUsername = Program.Smtpuser;
            mailman.SmtpPassword = Program.Smtppasswd;

            //  Create a new email object
            Chilkat.Email email = new Chilkat.Email();


#if (DEBUG)
            email.AddTo(Program.MailToName, Program.MailToAddr);
            email.Subject = "TEST " + subject + " skal sendes til: " + ToName + " " + ToAddr;
#else
            email.AddTo(ToName, ToAddr);
            email.Subject = subject;
            email.AddCC("Claus Knudsen", "*****@*****.**");
            email.AddBcc(Program.MailToName, Program.MailToAddr);
#endif
            email.Body    = body;
            email.From    = Program.MailFrom;
            email.ReplyTo = Program.MailReply;

            success = mailman.SendEmail(email);
            if (success != true)
            {
                throw new Exception(email.LastErrorText);
            }
        }
Exemple #3
0
		public void TestInsertBccRecipientsIntoMime()
		{
			using (Chilkat.Email email = new Chilkat.Email())
			{
				email.AddBcc("blackhole1", "*****@*****.**");
				email.AddBcc("blackhole2", "*****@*****.**");

				UnicodeEncoding encoding = new UnicodeEncoding();
				string modifiedMime = MimeProxy.InsertBccRecipientsIntoMime(email);
				Assert.IsTrue(modifiedMime.Contains("\"blackhole1\" <*****@*****.**>, \"blackhole2\" <*****@*****.**>"));
			}
		}
Exemple #4
0
		// TODO: ProtectProcess - fix test, bring back mime
		//[Test]
		public void TestModifyMime()
		{
			IUniversalRequestObject uro = UroFromMimeBytes("TestPlainTextMessageBody");

			// Lets change some properties on the mime
			string mimeContent = uro.OriginalContentBytes.Data.AsString(uro.OriginalContentBytes.Data.Length, Encoding.Unicode);

			// Lets get ride of the old mime
			uro.OriginalContentBytes.Data.Dispose();

			// Now lets modify it.
			using (Chilkat.Email email = new Chilkat.Email())
			{
				email.SetFromMimeText(mimeContent);
				email.Subject = "Processed: " + email.Subject;
				email.AddTo("blackhole2", "*****@*****.**");
				email.AddCC("blackhole3", "*****@*****.**");
				email.AddBcc("blackhole4", "*****@*****.**");
				email.Body += " And don't forget it!";
				email.AddFileAttachment(TEST_FILE_PATH + @"\test.ppt");

				Assert.AreEqual(3, email.NumTo);
				Assert.AreEqual(2, email.NumCC);
				Assert.AreEqual(2, email.NumBcc);

				UnicodeEncoding encoding = new UnicodeEncoding();
				string modifiedMime = MimeProxy.InsertBccRecipientsIntoMime(email);
				MemoryStream mimeStream = new MemoryStream(encoding.GetBytes(modifiedMime));
				uro.OriginalContentBytes.Data = new Workshare.Policy.BinaryData(mimeStream);
			}

			// Lets synchronize the URO with the MIME.
			using (Stream str = uro.OriginalContentBytes.Data.AsStream())
			{
				MimeProxy mimeProxy = new MimeProxy(str);
				Email2Uro email2Uro = new Email2Uro(mimeProxy);
				email2Uro.Convert(RequestChannel.Outlook, uro);
			}

			//sender
			Assert.IsTrue(1 == uro.Source.Items.Count, "Should only be a single source item");
			Assert.AreEqual("*****@*****.**", uro.Source.Items[0].Content, "Mismatch in email emailAddress");
			Assert.AreEqual("lnpair", uro.Source.Items[0].Properties[SMTPPropertyKeys.DisplayName], "Mismatch in email emailAddress");

			//recips
			Assert.AreEqual(7, uro.Destination.Items.Count);

			Assert.AreEqual("*****@*****.**", uro.Destination.Items[0].Content, "Mismatch in email emailAddress");
			Assert.AreEqual("Black Hole", uro.Destination.Items[0].Properties[SMTPItemPropertyKeys.DisplayName], "Mismatch in email emailAddress");
			Assert.AreEqual(AddressType.To, uro.Destination.Items[0].Properties[SMTPItemPropertyKeys.AddressType], "Destination item 1 should be of AddressType: To");
			Assert.AreEqual("*****@*****.**", uro.Destination.Items[1].Content, "Mismatch in email emailAddress");
			Assert.AreEqual("Pair Adm", uro.Destination.Items[1].Properties[SMTPItemPropertyKeys.DisplayName], "Mismatch in email emailAddress");
			Assert.AreEqual(AddressType.To, uro.Destination.Items[1].Properties[SMTPItemPropertyKeys.AddressType], "Destination item 2 should be of AddressType: To");

			Assert.AreEqual("*****@*****.**", uro.Destination.Items[2].Content, "Mismatch in email emailAddress");
			Assert.AreEqual("lnpair", uro.Destination.Items[2].Properties[SMTPItemPropertyKeys.DisplayName], "Mismatch in email emailAddress");
			Assert.AreEqual(AddressType.CC, uro.Destination.Items[2].Properties[SMTPItemPropertyKeys.AddressType], "Destination item 3 should be of AddressType: Cc");

			Assert.AreEqual("*****@*****.**", uro.Destination.Items[3].Content, "Mismatch in email emailAddress");
			Assert.AreEqual("*****@*****.**", uro.Destination.Items[3].Properties[SMTPItemPropertyKeys.DisplayName], "Mismatch in email emailAddress");
			Assert.AreEqual(AddressType.BCC, uro.Destination.Items[3].Properties[SMTPItemPropertyKeys.AddressType], "Destination item 3 should be of AddressType: Bcc");

			// New recipients added.
			Assert.AreEqual("*****@*****.**", uro.Destination.Items[4].Content, "Mismatch in email emailAddress");
			Assert.AreEqual("blackhole2", uro.Destination.Items[4].Properties[SMTPItemPropertyKeys.DisplayName], "Mismatch in email emailAddress");
			Assert.AreEqual(AddressType.To, uro.Destination.Items[4].Properties[SMTPItemPropertyKeys.AddressType], "Destination item 3 should be of AddressType: Bcc");
			Assert.AreEqual("*****@*****.**", uro.Destination.Items[5].Content, "Mismatch in email emailAddress");
			Assert.AreEqual("blackhole3", uro.Destination.Items[5].Properties[SMTPItemPropertyKeys.DisplayName], "Mismatch in email emailAddress");
			Assert.AreEqual(AddressType.CC, uro.Destination.Items[5].Properties[SMTPItemPropertyKeys.AddressType], "Destination item 3 should be of AddressType: Bcc");
			Assert.AreEqual("*****@*****.**", uro.Destination.Items[6].Content, "Mismatch in email emailAddress");
			Assert.AreEqual("blackhole4", uro.Destination.Items[6].Properties[SMTPItemPropertyKeys.DisplayName], "Mismatch in email emailAddress");
			Assert.AreEqual(AddressType.BCC, uro.Destination.Items[6].Properties[SMTPItemPropertyKeys.AddressType], "Destination item 3 should be of AddressType: Bcc");

			//attachments
			Assert.AreEqual(1, uro.Attachments.Count);
			Assert.AreEqual("test.ppt", uro.Attachments[0].Name, "Mismatch in attachment name");
			Assert.AreEqual("application/vnd.ms-powerpoint; name=test.ppt", uro.Attachments[0].ContentType, "Mismatch in attachment content type");
			Assert.IsTrue(0 < uro.Attachments[0].Data.Length, "Expected the attachments data length to be greater then zero");
			using (Stream str = uro.Attachments[0].Data.AsStream())
			{
				Assert.IsTrue(0 < str.Length, "Expected to find a non-empty stream");
			}

			//properties
			Assert.AreEqual(8, uro.Properties.Count);
			Assert.AreEqual(String.Empty, uro.Properties[MailMessagePropertyKeys.FileHeader], "Mismatch in Property");
			Assert.AreEqual("This body is plain text. And don't forget it!", uro.Properties[MailMessagePropertyKeys.Body], "Mismatch in Property");
			Assert.AreEqual("This body is plain text. And don't forget it!", uro.Properties[MailMessagePropertyKeys.FormattedBody], "Mismatch in Property");
			Assert.AreEqual("Processed: TestPlainTextMessageBody", uro.Properties[MailMessagePropertyKeys.Subject], "Mismatch in Property");
			Assert.AreEqual("Outlook", uro.Properties[SMTPPropertyKeys.RequestChannel], "Mismatch in Property");
			Assert.AreEqual("test.ppt ", uro.Properties[MailMessagePropertyKeys.Attachments], "Mismatch in Property");
			Assert.AreEqual("3", uro.Properties[MailMessagePropertyKeys.xPriority], "Mismatch in Property");

			uro.OriginalContentBytes.Data.Dispose();

			foreach (RequestAttachment ra in uro.Attachments)
			{
				ra.Dispose();
			}
		}
Exemple #5
0
        public void overfoersel_mail(int lobnr)
        {
            var antal = (from c in Program.dbData3060.Tbltilpbs
                         where c.Id == lobnr
                         select c).Count();

            if (antal == 0)
            {
                throw new Exception("101 - Der er ingen PBS forsendelse for id: " + lobnr);
            }

            Chilkat.MailMan mailman = new Chilkat.MailMan();
            bool            success;

            success = mailman.UnlockComponent("HAFSJOMAILQ_9QYSMgP0oR1h");
            if (success != true)
            {
                throw new Exception(mailman.LastErrorText);
            }

            //  Use the GMail SMTP server
            mailman.SmtpHost = Program.Smtphost;
            mailman.SmtpPort = int.Parse(Program.Smtpport);
            mailman.SmtpSsl  = bool.Parse(Program.Smtpssl);

            //  Set the SMTP login/password.
            mailman.SmtpUsername = Program.Smtpuser;
            mailman.SmtpPassword = Program.Smtppasswd;

            var qrykrd = from k in Program.karMedlemmer
                         join h in Program.dbData3060.Tbloverforsel on k.Nr equals h.Nr
                         where h.Tilpbsid == lobnr
                         select new
            {
                k.Nr,
                k.Email,
                k.Kaldenavn,
                k.Navn,
                h.Betalingsdato,
                h.Advistekst,
                h.Advisbelob,
                h.Bankregnr,
                h.Bankkontonr,
            };


            // Start loop over betalinger i tbloverforsel
            int testantal = qrykrd.Count();

            foreach (var krd in qrykrd)
            {
                //  Create a new email object
                Chilkat.Email email = new Chilkat.Email();

#if (DEBUG)
                email.Subject = "TEST Bankoverførsel fra Puls 3060: skal sendes til " + Program.MailToName + " " + Program.MailToAddr;
                email.AddTo(Program.MailToName, Program.MailToAddr);
#else
                email.Subject = "Bankoverførsel fra Puls 3060";
                if (krd.Email.Length > 0)
                {
                    email.AddTo(krd.Navn, krd.Email);
                    email.AddBcc(Program.MailToName, Program.MailToAddr);
                }
                else
                {
                    email.Subject += ": skal sendes til " + krd.Navn;
                    email.AddTo(Program.MailToName, Program.MailToAddr);
                }
#endif
                email.Body = new clsInfotekst
                {
                    infotekst_id     = 40,
                    numofcol         = null,
                    kaldenavn        = krd.Kaldenavn,
                    betalingsdato    = krd.Betalingsdato,
                    advisbelob       = krd.Advisbelob,
                    bankkonto        = krd.Bankregnr + "-" + krd.Bankkontonr,
                    advistekst       = krd.Advistekst,
                    underskrift_navn = "\r\nMogens Hafsjold\r\nRegnskabsfører"
                }.getinfotekst();

                email.From    = Program.MailFrom;
                email.ReplyTo = Program.MailReply;

                success = mailman.SendEmail(email);
                if (success != true)
                {
                    throw new Exception(email.LastErrorText);
                }
            }
        }
Exemple #6
0
        public void TestModifyMimeUsingChilkatDirectly()
        {
            byte[] mimebytes = File.ReadAllBytes(Path.Combine(m_testPath, "TestPlainTextMessageBody"));
            using (MimeProxy proxy = new MimeProxy(mimebytes))
            {
                // Now lets modify it.
                using (Chilkat.Email email = new Chilkat.Email())
                {
                    email.SetFromMimeText(proxy.MimeContent);
                    email.Subject = "Processed: " + email.Subject;
                    email.AddTo("blackhole2", "*****@*****.**");
                    email.AddCC("blackhole3", "*****@*****.**");
                    email.AddBcc("blackhole4", "*****@*****.**");
                    email.Body += " And don't forget it!";
                    email.AddFileAttachment(Path.Combine(m_testPath, @"test.ppt"));

                    Assert.AreEqual(3, email.NumTo);
                    Assert.AreEqual(2, email.NumCC);
                    Assert.AreEqual(2, email.NumBcc);

                    proxy.MimeContent = MimeProxy.InsertBccRecipientsIntoMime(email);
                }

                Assert.AreEqual("*****@*****.**", proxy.Sender.EmailAddress, "Mismatch in email emailAddress");
                Assert.AreEqual("lnpair", proxy.Sender.Name, "Mismatch in email emailAddress");

                Assert.AreEqual(3, proxy.ToRecipients.Count);
                Assert.AreEqual(2, proxy.CcRecipients.Count);
                Assert.AreEqual(2, proxy.BccRecipients.Count);

                Assert.AreEqual("*****@*****.**", proxy.ToRecipients[0].EmailAddress, "Mismatch in email emailAddress");
                Assert.AreEqual("Black Hole", proxy.ToRecipients[0].Name, "Mismatch in email emailAddress");
                Assert.AreEqual("*****@*****.**", proxy.ToRecipients[1].EmailAddress, "Mismatch in email emailAddress");
                Assert.AreEqual("Pair Adm", proxy.ToRecipients[1].Name, "Mismatch in email emailAddress");
                Assert.AreEqual("*****@*****.**", proxy.ToRecipients[2].EmailAddress, "Mismatch in email emailAddress");
                Assert.AreEqual("blackhole2", proxy.ToRecipients[2].Name, "Mismatch in email emailAddress");

                Assert.AreEqual("*****@*****.**", proxy.CcRecipients[0].EmailAddress, "Mismatch in email emailAddress");
                Assert.AreEqual("lnpair", proxy.CcRecipients[0].Name, "Mismatch in email emailAddress");
                Assert.AreEqual("*****@*****.**", proxy.CcRecipients[1].EmailAddress, "Mismatch in email emailAddress");
                Assert.AreEqual("blackhole3", proxy.CcRecipients[1].Name, "Mismatch in email emailAddress");

                Assert.AreEqual("*****@*****.**", proxy.BccRecipients[0].EmailAddress, "Mismatch in email emailAddress");
                Assert.AreEqual("*****@*****.**", proxy.BccRecipients[0].Name, "Mismatch in email emailAddress");
                Assert.AreEqual("*****@*****.**", proxy.BccRecipients[1].EmailAddress, "Mismatch in email emailAddress");
                Assert.AreEqual("blackhole4", proxy.BccRecipients[1].Name, "Mismatch in email emailAddress");

                Assert.AreEqual(1, proxy.Attachments.Count);

                Assert.AreEqual("test.ppt", proxy.Attachments[0].DisplayName, "Mismatch in attachment name");
                Assert.AreEqual("application/vnd.ms-powerpoint; name=test.ppt", proxy.Attachments[0].ContentType, "Mismatch in attachment content type");
                Assert.IsTrue(proxy.Attachments[0].FileName.Contains("test.ppt"), "Expected to find a non-empty stream");

                Assert.AreEqual("This body is plain text. And don't forget it!", proxy.FormattedBodyText, "Mismatch in Property");
                Assert.AreEqual("Processed: TestPlainTextMessageBody", proxy.Subject, "Mismatch in Property");
            }
        }
Exemple #7
0
        public SendEmail(string MedlemsNr, string IntNavn, string AfdMail, string FilePDF, string emailModt, string Kategori)
        {
            Chilkat.MailMan mailman = new Chilkat.MailMan();

            bool success = mailman.UnlockComponent("PROBITMAILQ_ckTyt6oroW8J");

            if (success != true)
            {
                MyVars.EmailSendtOK  = false;
                MyVars.MailFejltekst = "Licens problemer: " + mailman.LastErrorText;
                MyVars.emailBody     = "";
                MyVars.emailSubj     = "";
                return;
            }
            mailman.SmtpHost = "172.16.2.150";
            //  Set the SMTP login/password (if required)
            //mailman.SmtpUsername = "******";
            //mailman.SmtpPassword = "******";
            Chilkat.Email email = new Chilkat.Email();

            if (MedlemsNr != "")
            {
                if (Kategori != "")
                {
                    EGBoligData EGData    = new EGBoligData();
                    Mail        oMailData = EGData.GetMailData(Kategori); // her hentes mail-tekster fra EGBolig tabel
                    if (MyVars.emailSubj == "")
                    {
                        MyVars.emailSubj = oMailData.Emne;
                    }
                    MyVars.emailSubj = MyVars.emailSubj.Replace("[Selskab_Nr]", "099");
                    MyVars.emailSubj = MyVars.emailSubj.Replace("[Medlem_Nr]", MedlemsNr);
                    string emailBodyx = oMailData.Tekst;

                    emailBodyx = emailBodyx.Replace("[Medlem_Navn]", IntNavn);
                    emailBodyx = emailBodyx.Replace("[Bruger_Navn]", "");
                    if (MyVars.emailBody == "")
                    {
                        MyVars.emailBody += emailBodyx;
                    }
                }
                else
                {
                    MyVars.emailSubj = "Medlemsbrev fra Boligkontoret Danmark";
                    MyVars.emailBody = "Medlemsbrev fra Boligkontoret Danmark";
                }
            }

            if (Properties.Settings.Default.Common_PROD == false)
            {
                emailModt = Properties.Settings.Default.Common_Email_Testmodt;    //her sikres at alle emails sendes til kism (anvendes til test)
            }

            email.Subject = MyVars.emailSubj;
            email.Body    = MyVars.emailBody;
            email.From    = AfdMail;
            //emailModt = "*****@*****.**";
            email.AddBcc("", emailModt);

            if (FilePDF != "")
            {
                string contentType = email.AddFileAttachment(FilePDF);
                if (string.IsNullOrEmpty(contentType))
                {
                    MyVars.EmailSendtOK  = false;
                    MyVars.MailFejltekst = "Dokument kunne ikke vedhæftes e-mail pga. fejl: " + mailman.LastErrorText;
                    MyVars.emailBody     = "";
                    MyVars.emailSubj     = "";
                    return;
                }
            }

            success = mailman.SendEmail(email);
            if (success != true)
            {
                MyVars.EmailSendtOK = false;
                MyVars.emailBody    = "";
                MyVars.emailSubj    = "";
                return;
            }
            else
            {
                MyVars.EmailSendtOK  = true;
                MyVars.MailFejltekst = "";
            }

            success = mailman.CloseSmtpConnection();
            if (success != true)
            {
                MyVars.EmailSendtOK  = false;
                MyVars.MailFejltekst = "Connection fejl opstået ved afsendelse af e-mail: Connection to SMTP server not closed cleanly: " + mailman.LastErrorText;
            }
            MyVars.emailBody = "";
            MyVars.emailSubj = "";
        }
        public void overfoersel_mail(int lobnr)
        {
            Chilkat.MailMan mailman = new Chilkat.MailMan();
            bool            success;

            success = mailman.UnlockComponent("HAFSJOMAILQ_9QYSMgP0oR1h");
            if (success != true)
            {
                throw new Exception(mailman.LastErrorText);
            }

            //  Use the GMail SMTP server
            mailman.SmtpHost = Program.Smtphost;
            mailman.SmtpPort = int.Parse(Program.Smtpport);
            mailman.SmtpSsl  = bool.Parse(Program.Smtpssl);

            //  Set the SMTP login/password.
            mailman.SmtpUsername = Program.Smtpuser;
            mailman.SmtpPassword = Program.Smtppasswd;

            XElement headxml = new XElement("OverforselMail");

            headxml.Add(new XElement("Lobnr", lobnr));
            clsRest   objRest    = new clsRest();
            string    strheadxml = @"<?xml version=""1.0"" encoding=""utf-8"" ?> " + headxml.ToString();
            string    result     = objRest.HttpPost2(clsRest.urlBaseType.data, "overforselmail", strheadxml);
            XDocument xmldata    = XDocument.Parse(result);
            string    Status     = xmldata.Descendants("Status").First().Value;

            if (Status == "True")
            {
                var qry_email = from overforselemail in xmldata.Descendants("OverforselEmail")
                                select new
                {
                    Navn  = clsPassXmlDoc.attr_val_string(overforselemail, "Navn"),
                    Email = clsPassXmlDoc.attr_val_string(overforselemail, "Email"),
                    Tekst = clsPassXmlDoc.attr_val_string(overforselemail, "Tekst"),
                };
                foreach (var msg in qry_email)
                {
                    //  Create a new email object
                    Chilkat.Email email = new Chilkat.Email();

#if (DEBUG)
                    email.Subject = "TEST Bankoverførsel fra Puls 3060: skal sendes til " + Program.MailToName + " " + Program.MailToAddr;
                    email.AddTo(Program.MailToName, Program.MailToAddr);
#else
                    email.Subject = "Bankoverførsel fra Puls 3060";
                    if (msg.Email.Length > 0)
                    {
                        email.AddTo(msg.Navn, msg.Email);
                        email.AddBcc(Program.MailToName, Program.MailToAddr);
                    }
                    else
                    {
                        email.Subject += ": skal sendes til " + msg.Navn;
                        email.AddTo(Program.MailToName, Program.MailToAddr);
                    }
#endif
                    email.Body    = msg.Tekst;
                    email.From    = Program.MailFrom;
                    email.ReplyTo = Program.MailReply;

                    success = mailman.SendEmail(email);
                    if (success != true)
                    {
                        throw new Exception(email.LastErrorText);
                    }
                }
            }
        }