您的位置:首页 > 编程语言 > ASP

简单的asp.net模拟邮箱系统基础实现(二 (4)具体版块功能的实现及关键代码之收件和写信)

2017-03-08 14:04 871 查看
写信界面

<%@ Page Language="C#" MasterPageFile="~/Site.Master" AutoEventWireup="true" CodeBehind="SendPage.aspx.cs" Inherits="email.SendPage" %>

 

 

<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">  <asp:Label runat="server" Text="收件人:" ID="ss"></asp:Label>

    <asp:TextBox runat="server" ID="recfContact" Text=""></asp:TextBox><br/>

          <asp:Label runat="server" Text="主
题:" ID="Label1"></asp:Label>

    <asp:TextBox runat="server" ID="Title" Text=""></asp:TextBox><br/>

   <asp:Label runat="server" Text="邮件正文:"></asp:Label>

    <asp:TextBox runat="server" ID="Content" Width="100%" Height="300px" Text=""></asp:TextBox>

     <asp:Label runat="server" Text="" ID="msg1" ForeColor="Red"></asp:Label><br/>

  添加附件:  <asp:FileUpload runat="server" ID="upFile"/><br />

       <asp:Button runat="server" ID="send" Text="发送" OnClick="send_Click"/><asp:Label runat="server" ID="msg"></asp:Label>

</asp:Content>

 

C#

 

namespace email

{

    public partial class SendPage : System.Web.UI.Page

    {

        protected void Page_Load(object sender,
EventArgs e)

        {

            if (!IsPostBack)

            {

//站内信息的初始化赋值以及是否已在通讯录中选中联系人的和加载已选中的联系人

                String str =
@"Data Source = (LocalDB)\MSSQLLocalDB; AttachDbFilename = C:\Users\asus\Documents\Visual Studio 2015\Projects\email\email\App_Data\DB.mdf; Integrated Security = True";

                SqlConnection con =
new SqlConnection(str);

 

                SqlCommand cmd =
new SqlCommand("select * from userInfor where USERID=" +
"'" + Session["userid"] +
"'", con);

                SqlDataReader myReader =
null;

                try

                {

                    con.Open();

                    myReader = cmd.ExecuteReader();

                    while (myReader.Read())

                    {

                        Session["mail"] = myReader[9] +
"";

                        Session["mailpass"] = myReader[10] +
"";

                        Session["mailname"] = myReader[11] +
"";

 

                    }

 

                }

                catch

                {

                }

                finally

                {

                    if (myReader !=
null)

                    {

                        myReader.Close();

                    }

                    con.Close();

                }

                if (Session["0"] !=
null)

                {

                    for (int i = 1; i <= (int)Session["0"]; i++)

                    {

                        if (i == (int)Session["0"])

                        {

                            recfContact.Text += Session["" + i];

                        }

                        else

                        {

                            recfContact.Text += Session["" + i] +
"||";

                        }

                    }

                }

                if (Session["title"] !=
null) {

                    Title.Text = Session["title"]+"";

                }

            }

        }

        private string SendMail1(string from,
string fromname,
string to, string subject,
string body, string username,
string password, string server,
string fujian)

 

        {

             jmail.MessageClass oJmailMessage =
new jmail.MessageClass();

            /**//// 字符集

            oJmailMessage.Charset = "GB2312";

            oJmailMessage.ISOEncodeHeaders =
false;

            /**//// 优先级

            oJmailMessage.Priority = Convert.ToByte(1);

            /**////发送人邮件地址

            oJmailMessage.From = from;

            /**////发送人姓名

            oJmailMessage.FromName = fromname;

            /**//// 邮件主题

            oJmailMessage.Subject = subject;

            /**////身份验证的用户名

            oJmailMessage.MailServerUserName = username;

            /**////用户密码

            oJmailMessage.MailServerPassWord = password;

            /**////添加一个收件人,抄送人和密送人的添加和该方法是一样的,只是分别使用AddRecipientCC和RecipientBCC两个属性

            ///要是需要添加多个收件人,则重复下面的语句即可。添加多个抄送和密送人的方法一样

            oJmailMessage.AddRecipient(to,
"", "");

            /**////邮件内容

            String a="";

            oJmailMessage.Body = body;

            if (oJmailMessage.Send(server))

            {

            a="发送成功!";

            }

            else

            {

               a="发送失败,请检查邮件服务器的设置!";

            }

           oJmailMessage = null;         

            return a;

        }

        protected void send_Click(object sender,
EventArgs e)

        {           

            if (Content.Text ==
""||recfContact.Text=="")

            {

                msg1.Text = "发送信息或收件人不能为空";

            }

            else

            {

                if (Session["0"] ==
null && recfContact.Text !=
"")

                {                  

                      

                        if (Title.Text !=
"")

                        {

                            msg.Text = SendMail1(Session["mail"]+"", Session["mailname"]+"",
recfContact.Text, Title.Text, Content.Text, Session["mail"] +
"", Session["mailpass"]+"",
"smtp.163.com",
"");

                        }

                        else {

                            msg1.Text = "主题不能为空!";

                        }

                  

                }

                else if ((int)Session["0"] != 0)

                {

                    for (int i = 1; i <= (int)Session["0"]; i++)

                    {

 

                        if (Title.Text !=
"")

                        {

                            msg.Text+="第"+i+"条"+ SendMail1(Session["mail"] +
"", Session["mailname"] +
"", Session[""+i]+"", Title.Text, Content.Text, Session["mail"] +
"", Session["mailpass"] +
"",
"smtp.163.com", "")+"<br/>";

                        }

                        else

                        {

                            msg1.Text = "主题不能为空!";

                        }

                    }

                }

            }

        }

    }

}

 

收信界面:
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐