DotNetNukeŽ AJAX Email

//
// DotNetNuke - http:'www.dotnetnuke.com
// Copyright (c) 2002-2007
// by DotNetNuke Corporation
//
// Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated 
// documentation files (the "Software"), to deal in the Software without restriction, including without limitation 
// the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and 
// to permit persons to whom the Software is furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in all copies or substantial portions 
// of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED 
// TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 
// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF 
// CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 
// DEALINGS IN THE SOFTWARE.
//
using System;
using DotNetNuke;
using DotNetNuke.Common;
using DotNetNuke.Security.Roles;
using System.Collections.Generic;
using System.Web.Mail;
using System.Web.UI.WebControls;
using System.Collections;
 
namespace DotNetNuke.Modules
{
    public partial class AjaxEmailC : Entities.Modules.PortalModuleBase
    {
 
        protected void Page_Load(object sender, EventArgs e)
        {
            if (DotNetNuke.Framework.AJAX.IsInstalled())
            {
                DotNetNuke.Framework.AJAX.RegisterScriptManager();
                DotNetNuke.Framework.AJAX.WrapUpdatePanelControl(pnlEmail, true);
                DotNetNuke.Framework.AJAX.RegisterPostBackControl(btnPostBack);
            }
 
            if (UserId != -1)
            {
                txtFrom.Text = UserInfo.Email;
            }
            else
            {
                lblEmailSent.Visible = true;
                lblEmailSent.Text = "You must be logged in to email";
                btnSendEmail.Visible = false;
            }
 
        }
        
        protected void btnSendEmail_Click(object sender, EventArgs e)
        {
            //Sleep so that you can see the progress indicator - remove when in production
            System.Threading.Thread.Sleep(1000);
            if ((txtSubject.Text.Trim() != "")
                & (txtMessage.Text.Trim() != ""))
            {
                int intGridViewRow;
                GridViewRowCollection GridViewRowCollection = (GridViewRowCollection)AJAXUsers1.GridViewRows;
                for (intGridViewRow = 0; (intGridViewRow <= (GridViewRowCollection.Count - 1)); intGridViewRow++)
                {
                    GridViewRow GridViewRow = (GridViewRow)GridViewRowCollection[intGridViewRow];
                    Label LabelEmail = (Label)GridViewRow.FindControl("lblEmail2");
                    DotNetNuke.Services.Mail.Mail.SendMail(txtFrom.Text, LabelEmail.Text, "", txtSubject.Text, txtMessage.Text, "", "HTML", "", "", "", "");
                }
 
                lblEmailSent.Text = "Email Sent";
            }
            else
            {
                lblEmailSent.Text = "You must have recipients, subject, and message";
            }
        }
    }
}