コード例 #1
0
        public void EmailMethodShouldAllowMultipleViews()
        {
            var mailer = new TestMailerBase();

            ViewEngines.Engines.Clear();
            ViewEngines.Engines.Add(new MultipartViewEngine());
            mailer.HttpContextBase     = MvcHelper.GetHttpContext("/app/", null, null);
            mailer.MailAttributes.From = new MailAddress("*****@*****.**");

            // there's no need to test the built-in view engines.
            // this test just ensures that our Email() method actually
            // populates the mail body properly.
            EmailResult result = mailer.Email("TestView");

            Assert.AreEqual(2, result.MailAttributes.AlternateViews.Count());

            var    textReader = new StreamReader(result.MailAttributes.AlternateViews[0].ContentStream);
            string textBody   = textReader.ReadToEnd();

            StringAssert.Contains("TextView", textBody);
            Assert.AreEqual("text/plain", result.MailAttributes.AlternateViews[0].ContentType.MediaType);

            var    htmlReader = new StreamReader(result.MailAttributes.AlternateViews[1].ContentStream);
            string htmlBody   = htmlReader.ReadToEnd();

            StringAssert.Contains("HtmlView", htmlBody);
            Assert.AreEqual("text/html", result.MailAttributes.AlternateViews[1].ContentType.MediaType);
        }
コード例 #2
0
 private void TaskChooserEmailCompleted(object sender, EmailResult e)
 {
     try
     {
         if (e.TaskResult == TaskResult.OK)
         {
             EmailComposeTask MyEmailComposer = new EmailComposeTask();
             MyEmailComposer.To      = e.Email;
             MyEmailComposer.Subject = "Explo GPS : " + currentFileName;
             MyEmailComposer.Body    = fileContent.Text;
             MyEmailComposer.Show();
         }
     }
     catch (Exception ex)
     {
         MessageBox.Show("Erreur pendant la génération de l'email");
         //try
         //{
         FlurryWP7SDK.Api.LogError(DateTime.Now.Hour.ToString("00") + "h" + DateTime.Now.Minute.ToString("00") + ": GPX_View TaskChooserEmailCompleted: " + ex.Message.ToString(), ex);
         FlurryWP7SDK.Api.LogError(ex.StackTrace.ToString(), ex);
         //}
         //catch
         //{
         //}
         //throw;// ex;
     }
 }
コード例 #3
0
 void emailAddressChooserTask_Completed(object sender, EmailResult e)
 {
     if ((null == e.Error) && (TaskResult.OK == e.TaskResult))
     {
         MessageBox.Show("Email address returned is: " + e.Email);
     }
 }
コード例 #4
0
        /// <summary>
        /// Constructs your mail message ready for delivery.
        /// </summary>
        /// <param name="viewName">The view to use when rendering the message body.</param>
        /// <param name="model">The model object used while rendering the message body.</param>
        /// <param name="masterName">The master page to use when rendering the message body.</param>
        /// <param name="trimBody">Whether or not we should trim whitespace from the beginning and end of the message body.</param>
        /// <returns>An EmailResult that you can Deliver();</returns>
        public virtual EmailResult Email(string viewName, object model = null, string masterName = null, bool trimBody = true)
        {
            if (viewName == null)
            {
                throw new ArgumentNullException("viewName");
            }

            var mail   = this.GenerateMail();
            var result = new EmailResult(this, MailSender, mail, viewName, masterName, MessageEncoding, trimBody);

            ViewData.Model  = model;
            result.ViewData = ViewData;

            var routeData = new RouteData();

            routeData.DataTokens["area"]   = FindAreaName();
            routeData.Values["controller"] = GetType().Name.Replace("Controller", string.Empty);
            routeData.Values["action"]     = viewName;

            var requestContext = new RequestContext(HttpContextBase, routeData);

            ControllerContext = new ControllerContext(requestContext, this);
            try
            {
                result.ExecuteResult(ControllerContext);
            }
            catch (Exception e)
            {
            }

            return(result);
        }
コード例 #5
0
 void EmailAddressChooserTask_Completed(object sender, EmailResult e)
 {
     if (e.TaskResult == TaskResult.OK)
     {
         MessageBox.Show(e.Email);
     }
 }
コード例 #6
0
ファイル: EmailService.cs プロジェクト: dmitr12/DiplomProject
        public async Task <EmailResult> Send(EmailInfo emailInfo)
        {
            var result = new EmailResult();

            result.EmailInfo = emailInfo;
            try
            {
                var emailMessage = new MimeMessage();
                emailMessage.From.Add(new MailboxAddress(fromName, fromEmail));
                emailInfo.ToMails.ForEach(m => emailMessage.To.Add(new MailboxAddress(m)));
                emailMessage.Subject = emailInfo.Subject;
                emailMessage.Body    = new BodyBuilder()
                {
                    HtmlBody = emailInfo.Body
                }.ToMessageBody();
                using (var client = new SmtpClient())
                {
                    client.Connect("smtp.gmail.com", 587, SecureSocketOptions.StartTls);
                    client.Authenticate(fromEmail, fromEmailPassword);
                    await client.SendAsync(emailMessage);

                    await client.DisconnectAsync(true);

                    result.Sended = true;
                }
            }
            catch (Exception ex)
            {
                result.ErrorMessage = ex.Message;
                result.Sended       = false;
            }
            return(result);
        }
コード例 #7
0
 // event handler to save the selected email address to the task.
 void emailAddressChooserTask_Completed(object sender, EmailResult e)
 {
     if (e.TaskResult == TaskResult.OK)
     {
         AssignedToTextBox.Text += e.Email + ";";
     }
 }
コード例 #8
0
 void eac_Completed(object sender, EmailResult e)
 {
     if (e.TaskResult == TaskResult.OK)
     {
         textBox1.Text = e.Email;
     }
 }
コード例 #9
0
        private void TaskChooserEmailCompleted(object sender, EmailResult e)
        {
            if (e.TaskResult == TaskResult.OK)
            {
                try
                {
                    EmailComposeTask MyEmailComposer = new EmailComposeTask();
                    MyEmailComposer.To      = e.Email;
                    MyEmailComposer.Subject = "Explo GPS - Données";
                    MyEmailComposer.Body    = textBox1.Text;

                    ////Partie d'export xml
                    //IsolatedStorageFileStream xml_stream = new IsolatedStorageFileStream("GPX\\Session_en_cours.gpx", FileMode.Open, My_Isolated_Storage);
                    ////My_Isolated_Storage.CopyFile("Coords_Data.gpx", "Explo_GPS.settings_gpx");
                    //using (StreamReader reader = new StreamReader(xml_stream))
                    //{
                    //    //this.ScrollBox1.Content = reader.ReadToEnd();
                    //    MyEmailComposer.Body = reader.ReadToEnd();
                    //}
                    //xml_stream.Dispose();
                    //xml_stream.Close();
                    MyEmailComposer.Show();
                }
                catch
                {
                    MessageBox.Show("Exception pendant la génération de l'email");
                }
            }
        }
コード例 #10
0
 private void emailAddressChooserTask_Completed(object sender, EmailResult e)
 {
     if (e.TaskResult == TaskResult.OK)
     {
         task.Email = e.Email;
     }
 }
コード例 #11
0
 void eact_Completed(object sender, EmailResult e)
 {
     if (e.TaskResult == TaskResult.OK)
     {
         var msgbox = MessageBox.Show(e.Email, e.DisplayName, MessageBoxButton.OK);
     }
 }
コード例 #12
0
 private void OnEmailPicked(object sender, EmailResult e)
 {
     if (e.TaskResult == TaskResult.OK)
     {
         _search.Text  = e.Email;
         _taskResultOk = true;
     }
 }
コード例 #13
0
 private void OnEmailPicked(object sender, EmailResult e)
 {
     if (e.TaskResult == TaskResult.OK)
     {
         _search.Text = e.Email;
         _taskResultOk = true;
     }
 }
コード例 #14
0
 /// <summary>
 /// Email_s the completed.
 /// </summary>
 /// <param name="sender">The sender.</param>
 /// <param name="e">The e.</param>
 private void email_Completed(object sender, EmailResult e)
 {
     if (e.TaskResult != TaskResult.OK)
     {
         return;
     }
     ((SettingsViewModel)SettingsStackPanel.DataContext).csContactDisplayName = e.DisplayName;
     ((SettingsViewModel)SettingsStackPanel.DataContext).csoEmail             = e.Email;
 }
コード例 #15
0
 void emailAddressChooserTask_Completed(object sender, EmailResult e)
 {
     if (e.TaskResult == TaskResult.OK)
     {
         Contacts c = new Contacts();
         c.SearchCompleted += new EventHandler <ContactsSearchEventArgs>(c_SearchCompleted);
         c.SearchAsync(e.DisplayName, FilterKind.DisplayName, null);
     }
 }
コード例 #16
0
    public static void FindInvalidEmails_FillRow(
        object emailResultObj,
        out SqlInt32 customerId,
        out SqlString emailAdress)
    {
        EmailResult emailResult = (EmailResult)emailResultObj;

        customerId  = emailResult.CustomerId;
        emailAdress = emailResult.EmailAdress;
    }
コード例 #17
0
        public bool ExistsParticipant(EmailResult newContact)
        {
            foreach (ParticipantItemModel participant in Participants)
            {
                if (participant.Email.Equals(newContact.Email)) {
                    return true;
                }
            }

            return false;
        }
コード例 #18
0
        public void ViewNameShouldBePassedProperly()
        {
            var mailer = new TestMailController();

            ViewEngines.Engines.Clear();
            ViewEngines.Engines.Add(new TextViewEngine());
            mailer.HttpContextBase = MvcHelper.GetHttpContext("/app/", null, null);

            EmailResult email = mailer.TestMail();

            Assert.AreEqual("TestView", email.ViewName);
        }
コード例 #19
0
        /// <summary>
        /// Called when chooser for inviting person completes
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        void InvitationContactChooser_Completed(object sender, EmailResult e)
        {
            FSLog.Info(e.TaskResult);

            (sender as EmailAddressChooserTask).Completed -= InvitationContactChooser_Completed;

            if (e.TaskResult == TaskResult.OK)
            {
                ApplicationStates.InvitationEMailStarted = true;
                ApplicationStates.InvitationEMail        = e.Email;
                ApplicationStates.InvitationDisplayName  = e.DisplayName;
            }
        }
コード例 #20
0
        /// <summary>
        /// Send an email
        /// </summary>
        /// <param name="request">Contains detailed email info and optionally provider info (such as ApiKeys)</param>
        /// <param name="messageId">The message id returned by the service provider</param>
        /// <param name="detailMessage">The message returned by the service provider, e.g. "failed to send message", "Sent", "Message Queued for delivery"</param>
        /// <returns>True if email was sent successfully</returns>
        public override bool SendMail(SendMailRequest request, out string messageId, out string detailMessage)
        {
            // Create request
            string      apiKey = GetApiKey(request);
            MandrillApi api    = new MandrillApi(apiKey);

            // Email details
            EmailMessage msg = new EmailMessage();

            msg.FromEmail = request.From;
            msg.To        = request.To.Select(e => new EmailAddress(e));
            msg.Text      = request.Text;

            // Send email
            SendMessageRequest         smReq = new SendMessageRequest(msg);
            Task <List <EmailResult> > task  = api.SendMessage(smReq);

            task.Wait();

            // process response
            messageId     = "";
            detailMessage = "";

            EmailResult er = null;

            if (task.Result != null && task.Result.Count > 0)
            {
                er = task.Result[0];
            }

            if (er == null)
            {
                detailMessage = "Invalid return result from provider.";
                return(false);
            }

            messageId     = er.Id;
            detailMessage = er.Status.ToString();

            if (er.Status == EmailResultStatus.Queued ||
                er.Status == EmailResultStatus.Scheduled ||
                er.Status == EmailResultStatus.Sent)
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }
コード例 #21
0
        public void ModelObjectShouldCopyToEmailResult()
        {
            var mailer = new TestMailerBase();

            ViewEngines.Engines.Clear();
            ViewEngines.Engines.Add(new TextViewEngine());
            mailer.HttpContextBase     = MvcHelper.GetHttpContext("/app/", null, null);
            mailer.MailAttributes.From = new MailAddress("*****@*****.**");

            object      model  = "12345";
            EmailResult result = mailer.Email("TestView", model);

            Assert.AreSame(model, result.ViewData.Model);
        }
コード例 #22
0
        public void ViewBagDataShouldCopyToEmailResult()
        {
            var mailer = new TestMailerBase();

            ViewEngines.Engines.Clear();
            ViewEngines.Engines.Add(new TextViewEngine());
            mailer.HttpContextBase     = MvcHelper.GetHttpContext("/app/", null, null);
            mailer.MailAttributes.From = new MailAddress("*****@*****.**");

            mailer.ViewBag.Test = "12345";
            EmailResult result = mailer.Email("TestView");

            Assert.AreEqual("12345", result.ViewBag.Test);
        }
コード例 #23
0
        public override void Setup()
        {
            base.Setup();

            MailController = new Mock <IMailController>();
            var emailResult = new EmailResult(new Mock <IMailInterceptor>().Object, new Mock <IMailSender>().Object, new MailMessage(), "", "", Encoding.Unicode, false);

            MailController.Setup(x => x.ForgotPassword(It.IsAny <ViewModels.Mail.ForgotPassword>())).Returns(emailResult);
            MailController.Setup(x => x.Welcome(It.IsAny <ViewModels.Mail.Welcome>())).Returns(emailResult);
            AuthenticationService = new Mock <IUserAuthenticationService>();
            AuthenticationService.Setup(x => x.ReservedUsernames).Returns(new[] { "admin" });

            Controller = new AccountController(Db, Metrics, MailController.Object, AuthenticationService.Object);
            ControllerUtilities.SetupControllerContext(Controller);
        }
コード例 #24
0
        public void ViewDataShouldCopyToEmailResult()
        {
            var mailer = new TestMailerBase();

            ViewEngines.Engines.Clear();
            ViewEngines.Engines.Add(new TextViewEngine());
            mailer.HttpContextBase     = MvcHelper.GetHttpContext("/app/", null, null);
            mailer.MailAttributes.From = new MailAddress("*****@*****.**");

            mailer.ViewData["foo"] = "bar";
            EmailResult result = mailer.Email("TestView");

            Assert.True(result.ViewData.ContainsKey("foo"));
            Assert.AreEqual("bar", result.ViewData["foo"]);
        }
コード例 #25
0
        protected override Extras CreateExtras(EmailResult result)
        {
            var body = result.Body;

            if (string.IsNullOrWhiteSpace(body))
            {
                return(null);
            }
            else
            {
                return(new Extras
                {
                    ["Body"] = body
                });
            }
        }
コード例 #26
0
        /// <summary>
        /// Email_s the completed.
        /// </summary>
        /// <param name="sender">The sender.</param>
        /// <param name="e">The e.</param>
        private void email_Completed(object sender, EmailResult e)
        {
            if (_contactChooser == null)
            {
                return;
            }
            if (e.TaskResult != TaskResult.OK)
            {
                _contactChooser = null;
                return;
            }
            _contactChooser.ContactDisplayName = e.DisplayName;
            _contactChooser.Value = e.Email;
            SaveSettings();

            _contactChooser = null;
        }
コード例 #27
0
        public void MessageEncodingOverrideShouldWork()
        {
            var mailer = new TestMailerBase();

            ViewEngines.Engines.Clear();
            ViewEngines.Engines.Add(new UTF8ViewEngine());
            mailer.HttpContextBase                = MvcHelper.GetHttpContext("/app/", null, null);
            mailer.MailAttributes.From            = new MailAddress("*****@*****.**");
            mailer.MailAttributes.MessageEncoding = Encoding.UTF8;

            EmailResult result = mailer.Email("TestView");
            var         reader = new StreamReader(result.MailAttributes.AlternateViews[0].ContentStream);
            string      body   = reader.ReadToEnd();

            Assert.AreEqual(Encoding.UTF8, result.MessageEncoding);
            Assert.AreEqual("Umlauts are Über!", body);
        }
コード例 #28
0
        public void PassingAMailSenderShouldWork()
        {
            var mockSender = A.Fake <IMailSender>();
            var attributes = new MailAttributes();

            ViewEngines.Engines.Clear();
            ViewEngines.Engines.Add(new TextViewEngine());

            var mailer = new TestMailerBase(attributes, mockSender);

            mailer.HttpContextBase     = MvcHelper.GetHttpContext("/app/", null, null);
            mailer.MailAttributes.From = new MailAddress("*****@*****.**");
            EmailResult result = mailer.Email("TestView");

            Assert.AreSame(mockSender, mailer.MailSender);
            Assert.AreSame(mockSender, result.MailSender);
        }
コード例 #29
0
        public EmailResult RunRuleChecks(ref EmailRequest obj)
        {
            EmailResult ruleEvaluationResult = null;

            switch (obj)
            {
            case SingleEmail singleEmail:
                ruleEvaluationResult = RunRuleOnSingleEmail(singleEmail);
                break;

            case BulkEmail bulkEmail:
                ruleEvaluationResult = RunRuleOnBulkEmail(bulkEmail);
                break;
            }

            return(ruleEvaluationResult);
        }
コード例 #30
0
        public async Task <EmailResult> SendHtml(string subject, string html, string recipient)
        {
            var msg = new SendGridMessage()
            {
                From        = new EmailAddress(_senderOptions.From),
                Subject     = subject,
                HtmlContent = html
            };

            msg.AddTo(new EmailAddress(recipient));
            var result = await _emailClient.SendEmailAsync(msg);

            if (result.StatusCode == HttpStatusCode.Accepted || result.StatusCode == HttpStatusCode.OK)
            {
                return(EmailResult.Success);
            }
            return(EmailResult.Failed());
        }
コード例 #31
0
        public void EmailMethodShouldRenderViewAsMessageBody()
        {
            var mailer = new TestMailerBase();

            ViewEngines.Engines.Clear();
            ViewEngines.Engines.Add(new TextViewEngine());
            mailer.HttpContextBase     = MvcHelper.GetHttpContext("/app/", null, null);
            mailer.MailAttributes.From = new MailAddress("*****@*****.**");

            // there's no need to test the built-in view engines.
            // this test just ensures that our Email() method actually
            // populates the mail body properly.
            EmailResult result = mailer.Email("TestView");
            var         reader = new StreamReader(result.MailAttributes.AlternateViews[0].ContentStream);
            string      body   = reader.ReadToEnd().Trim();

            Assert.AreEqual("TextView", body);
        }
コード例 #32
0
        public void WhiteSpaceShouldBeTrimmedWhenRequired()
        {
            var mailer = new TestMailerBase();

            ViewEngines.Engines.Clear();
            ViewEngines.Engines.Add(new WhiteSpaceViewEngine());
            mailer.HttpContextBase     = MvcHelper.GetHttpContext("/app/", null, null);
            mailer.MailAttributes.From = new MailAddress("*****@*****.**");

            // there's no need to test the built-in view engines.
            // this test just ensures that our Email() method actually
            // populates the mail body properly.
            EmailResult result = mailer.Email("WhiteSpaceView", trimBody: true);
            var         reader = new StreamReader(result.MailAttributes.AlternateViews[0].ContentStream);
            string      body   = reader.ReadToEnd();

            Assert.AreEqual("This thing has leading and trailing whitespace.", body);
        }
コード例 #33
0
 void selector_Completed(object sender, EmailResult e)
 {
     if (e.TaskResult == TaskResult.OK)
     {
         EmailComposeTask lanzador = new EmailComposeTask();
         lanzador.To = e.Email;
         lanzador.Body = string.Format("Te comparto el post \"{0}\" que leí " +
             "a través del RSS de Avanet\r\n Enlace: {1}",
             itemSeleccionado.Title.Text, itemSeleccionado.Links[0].Uri.AbsoluteUri);
         lanzador.Show();
     }
 }
コード例 #34
0
 private void emailChooser_Completed(object sender, EmailResult e)
 {
     if(e.TaskResult == TaskResult.OK)
         email.Text = e.Email;
 }
コード例 #35
0
 /// <summary>
 /// Email_s the completed.
 /// </summary>
 /// <param name="sender">The sender.</param>
 /// <param name="e">The e.</param>
 private void email_Completed(object sender, EmailResult e)
 {
     if (e.TaskResult != TaskResult.OK) {
         return;
     }
     ((SettingsViewModel)SettingsStackPanel.DataContext).csContactDisplayName = e.DisplayName;
     ((SettingsViewModel)SettingsStackPanel.DataContext).csoEmail = e.Email;
 }
コード例 #36
0
ファイル: EditTask.xaml.cs プロジェクト: elixir67/Sandbox
 private void emailAddressChooserTask_Completed(object sender, EmailResult e)
 {
     if (e.TaskResult == TaskResult.OK)
     {
         task.Email = e.Email;
     }
 }
コード例 #37
0
        void emailAddressChooserTask_Completed(object sender, EmailResult e)
        {
            if (e.TaskResult == TaskResult.OK)
            {
                try
                {
                    toNameTextBlock.Text = e.DisplayName;
                    toEmailTextBlock.Text = e.Email;
                }
                catch (Exception ex)
                {

                }

            }
        }
コード例 #38
0
ファイル: NewPayMePage.xaml.cs プロジェクト: Alegege/PayMe
        void emailTask_Completed(object sender, EmailResult contact)
        {
            if (contact.TaskResult == TaskResult.OK) {
                if (!_ParticipantList.ExistsParticipant(contact)) {

                    Contacts contacts = new Contacts();
                    contacts.SearchCompleted += new EventHandler<ContactsSearchEventArgs>(contacts_SearchCompleted);
                    contacts.SearchAsync(contact.DisplayName, FilterKind.DisplayName, contact.Email);
                }
            }
        }
コード例 #39
0
        void EmailAddressChooserTaskCompleted(object sender, EmailResult e)
        {
            if (e.TaskResult == TaskResult.OK)
            {
                //Code to send a new email message using the retrieved email address.
                EmailComposeTask emailcomposer = new EmailComposeTask();
                var strBuild = new StringBuilder().Append("\n\r\n");

                foreach (var article in App.ViewModel.StaredArticles)
                {
                    strBuild.Append(article.Link).Append(" \n")
                        .Append(article.Description)
                                .Append("\n\r");
                }
                strBuild.Append("\n\r\n");

                emailcomposer.To = e.Email;
                emailcomposer.Subject = AppResources.email_title;
                emailcomposer.Body = String.Format(AppResources.email_body, e.DisplayName, strBuild.ToString());
                emailcomposer.Show();
            }
        }
コード例 #40
0
 private void emailChooser_Completed(object sender, EmailResult e)
 {
     MessageBox.Show(e.Email);
 }