Пример #1
0
    /// <summary>
    /// Sends a test e-mail message.
    /// </summary>
    protected void SendEmail()
    {
        // Initialize message
        EmailMessage email = new EmailMessage
        {
            From        = txtFrom.Text,
            Recipients  = txtTo.Text,
            Subject     = TextHelper.LimitLength(txtSubject.Text.Trim(), 450),
            EmailFormat = EmailFormatEnum.Html,
            Body        = txtText.Text
        };

        // Attach file if something was uploaded
        if ((FileUploader.PostedFile != null) && (FileUploader.PostedFile.InputStream != null))
        {
            email.Attachments.Add(new Attachment(FileUploader.PostedFile.InputStream,
                                                 Path.GetFileName(FileUploader.PostedFile.FileName)));
        }

        // Initialize SMTP server object
        SMTPServerInfo smtpServer = new SMTPServerInfo
        {
            ServerName     = txtServer.Text,
            ServerUserName = txtUserName.Text,
            ServerPassword = EncryptionHelper.EncryptData(txtPassword.Text),
            ServerUseSSL   = chkSSL.Checked
        };

        string siteName = SiteContext.CurrentSiteName ?? string.Empty;

        EmailSender.SendTestEmail(siteName, email, smtpServer);
    }
    protected void Page_Load(object sender, EventArgs e)
    {
        smtpServerId = QueryHelper.GetInteger("objectid", 0);

        if (smtpServerId <= 0)
        {
            pnlAvailability.Visible = false;
            return;
        }

        EditedObject = smtpServer = SMTPServerInfoProvider.GetSMTPServerInfo(smtpServerId);

        if (!RequestHelper.IsPostBack())
        {
            if (smtpServer.ServerIsGlobal)
            {
                rblSites.SelectedIndex = 0;
                usSites.Enabled = false;
            }
            else
            {
                rblSites.SelectedIndex = 1;
                usSites.Enabled = true;
                LoadSiteBindings();
            }
        }

        usSites.OnSelectionChanged += usSites_OnSelectionChanged;
        rblSites.SelectedIndexChanged += rblSites_SelectedIndexChanged;
    }
    protected void Page_Load(object sender, EventArgs e)
    {
        smtpServerId = QueryHelper.GetInteger("smtpserverid", 0);

        if (smtpServerId <= 0)
        {
            pnlAvailability.Visible = false;
            return;
        }

        EditedObject = smtpServer = SMTPServerInfoProvider.GetSMTPServerInfo(smtpServerId);

        if (!RequestHelper.IsPostBack())
        {
            if (smtpServer.ServerIsGlobal)
            {
                rblSites.SelectedIndex = 0;
                usSites.Enabled        = false;
            }
            else
            {
                rblSites.SelectedIndex = 1;
                usSites.Enabled        = true;
                LoadSiteBindings();
            }
        }

        usSites.OnSelectionChanged    += usSites_OnSelectionChanged;
        rblSites.SelectedIndexChanged += rblSites_SelectedIndexChanged;
    }
Пример #4
0
    private void Save()
    {
        string validationResult = new Validator()
                                  .NotEmpty(txtServerName.Text, rfvServerName.ErrorMessage)
                                  .Result;

        if (!string.IsNullOrEmpty(validationResult))
        {
            ShowError(validationResult);
            return;
        }

        try
        {
            SMTPServerPriorityEnum priority = (SMTPServerPriorityEnum)Enum.Parse(typeof(SMTPServerPriorityEnum), ddlPriorities.SelectedValue);

            SMTPServerInfo smtpServer =
                SMTPServerInfoProvider.CreateSMTPServer(txtServerName.Text, txtUserName.Text, txtPassword.Text, chkUseSSL.Checked, priority);

            if (chkAssign.Checked && currentSite != null)
            {
                SMTPServerSiteInfoProvider.AddSMTPServerToSite(smtpServer.ServerID, currentSite.SiteID);
            }

            URLHelper.Redirect(string.Format("Frameset.aspx?smtpserverid={0}&saved=1", smtpServer.ServerID));
        }
        catch (Exception e)
        {
            ShowError(e.Message);
            return;
        }
    }
Пример #5
0
    /// <summary>
    /// Synchronously sends an e-mail through the SMTP server.
    /// </summary>
    /// <param name="siteName">Site name</param>
    /// <param name="message">E-mail message</param>
    /// <param name="smtpServer">SMTP server</param>
    protected override void SendEmailInternal(string siteName, MailMessage message, SMTPServerInfo smtpServer)
    {
        base.SendEmailInternal(siteName, message, smtpServer);

        string detail = string.Format("E-mail from {0} through {1} was sent (synchronously)", message.From.Address, smtpServer.ServerName);

        EventLogProvider.LogInformation("CMSCustom", "MyCustomEmailProvider", detail);
    }
Пример #6
0
    /// <summary>
    /// Synchronously sends an e-mail through the SMTP server.
    /// </summary>
    /// <param name="siteName">Site name</param>
    /// <param name="message">E-mail message</param>
    /// <param name="smtpServer">SMTP server</param>
    protected override void SendEmailInternal(string siteName, MailMessage message, SMTPServerInfo smtpServer)
    {
        base.SendEmailInternal(siteName, message, smtpServer);

        string detail = string.Format("E-mail from {0} through {1} was sent (synchronously)", message.From.Address, smtpServer.ServerName);

        EventLogProvider.LogInformation("CMSCustom", "MyCustomEmailProvider", detail);
    }
Пример #7
0
    /// <summary>
    /// Asynchronously sends an email through the SMTP server.
    /// </summary>
    /// <param name="siteName">Site name</param>
    /// <param name="message">Email message</param>
    /// <param name="smtpServer">SMTP server</param>
    /// <param name="emailToken">Email token that represents the message being sent</param>   
    protected override void SendEmailAsyncInternal(string siteName, MailMessage message, SMTPServerInfo smtpServer, EmailToken emailToken)
    {
        //Send the email via SendGrid
        SendSendGridEmail(message);

        CustomCompletedEventArgs args = new CustomCompletedEventArgs(null, false, emailToken);
        OnSendCompleted(args);
    }
    protected void Page_Load(object sender, EventArgs e)
    {
        smtpServer = (SMTPServerInfo)EditedObject;

        rfvServerName.ErrorMessage = GetString("SMTPServer_New.NoServerName");

        ddlPriorities.Items.Add(new ListItem("SMTPServerPriorityEnum.Low", SMTPServerPriorityEnum.Low.ToString()));
        ddlPriorities.Items.Add(new ListItem("SMTPServerPriorityEnum.Normal", SMTPServerPriorityEnum.Normal.ToString()));
        ddlPriorities.Items.Add(new ListItem("SMTPServerPriorityEnum.High", SMTPServerPriorityEnum.High.ToString()));

        if (!RequestHelper.IsPostBack())
        {
            LoadValues();
        }
    }
    protected void Page_Load(object sender, EventArgs e)
    {
        smtpServer = (SMTPServerInfo)EditedObject;

        rfvServerName.ErrorMessage = GetString("SMTPServer_New.NoServerName");

        ddlPriorities.Items.Add(new ListItem("SMTPServerPriorityEnum.Low", SMTPServerPriorityEnum.Low.ToString()));
        ddlPriorities.Items.Add(new ListItem("SMTPServerPriorityEnum.Normal", SMTPServerPriorityEnum.Normal.ToString()));
        ddlPriorities.Items.Add(new ListItem("SMTPServerPriorityEnum.High", SMTPServerPriorityEnum.High.ToString()));

        if (!RequestHelper.IsPostBack())
        {
            LoadValues();
        }
    }
Пример #10
0
    /// <summary>
    /// Asynchronously sends an email through the SMTP server.
    /// </summary>
    /// <param name="siteName">Site name</param>
    /// <param name="message">Email message</param>
    /// <param name="smtpServer">SMTP server</param>
    /// <param name="emailToken">Email token that represents the message being sent</param>
    protected override void SendEmailAsyncInternal(string siteName, MailMessage message, SMTPServerInfo smtpServer, EmailToken emailToken)
    {
        //Send the email via SendGrid
        SendSendGridEmail(message);

        CustomCompletedEventArgs args = new CustomCompletedEventArgs(null, false, emailToken);

        OnSendCompleted(args);
    }
Пример #11
0
 /// <summary>
 /// Synchronously sends an email through the SMTP server.
 /// </summary>
 /// <param name="siteName">Site name</param>
 /// <param name="message">Email message</param>
 /// <param name="smtpServer">SMTP server</param>
 protected override void SendEmailInternal(string siteName, MailMessage message, SMTPServerInfo smtpServer)
 {
     //Send the email via SendGrid
     SendSendGridEmail(message);
 }
 protected override void SendEmailAsyncInternal(string siteName, MailMessage message, SMTPServerInfo smtpServer,
                                                EmailToken emailToken)
 {
     ThreadPool.QueueUserWorkItem(userData =>
     {
         CMSThread.AllowEmptyContext();
         DispatchSendGridEmail(message, true, emailToken);
     });
 }
 protected override void SendEmailInternal(string siteName, MailMessage message, SMTPServerInfo smtpServer)
 {
     DispatchSendGridEmail(message);
 }
    /// <summary>
    /// Sends a test e-mail message.
    /// </summary>
    protected void SendEmail()
    {
        // Initialize message
        EmailMessage email = new EmailMessage
        {
            From = txtFrom.Text,
            Recipients = txtTo.Text,
            Subject = TextHelper.LimitLength(txtSubject.Text.Trim(), 450),
            EmailFormat = EmailFormatEnum.Html,
            Body = txtText.Text
        };

        // Attach file if something was uploaded
        if ((FileUploader.PostedFile != null) && (FileUploader.PostedFile.InputStream != null))
        {
            email.Attachments.Add(new Attachment(FileUploader.PostedFile.InputStream,
                Path.GetFileName(FileUploader.PostedFile.FileName)));
        }

        // Initialize SMTP server object
        SMTPServerInfo smtpServer = new SMTPServerInfo
        {
            ServerName = txtServer.Text,
            ServerUserName = txtUserName.Text,
            ServerPassword = txtPassword.Text,
            ServerUseSSL = chkSSL.Checked
        };

        string siteName = CMSContext.CurrentSiteName ?? string.Empty;

        EmailSender.SendTestEmail(siteName, email, smtpServer);
    }
Пример #15
0
 /// <summary>
 /// Synchronously sends an email through the SMTP server.
 /// </summary>
 /// <param name="siteName">Site name</param>
 /// <param name="message">Email message</param>
 /// <param name="smtpServer">SMTP server</param>
 protected override void SendEmailInternal(string siteName, MailMessage message, SMTPServerInfo smtpServer)
 {
     //Send the email via SendGrid
     SendSendGridEmail(message);
 }