MailMessage

///mailmessage 发送邮件:

 protected void Button1_Click(object sender, EventArgs e)
    {

        string context =" 类别:"+ DropDownList1.Text +"      描述:"+ this.tbxBody.Text.Trim();
        string name = this.tbxName.Text.Trim();
        string to = this.tbxEmail.Text.Trim();
       // string title = this.tbxSub.Text.Trim();


        string title = "GP Invest";
        if (tbxBody.Text != " " && tbxEmail.Text != "" && tbxName.Text != " ")
        {
            Send(to, title, context, name);
            lablmessage.Text = "信息提交完成!!";
        }
        else
        {
            lablmessage.Text = "请输入完整信息!!";
        }

    }

    private static void Send(string to, string subject, string body, string name)
    {
            MailMessage mailMsg = new MailMessage();
            mailMsg.From = new MailAddress(to, name);
             mailMsg.To.Add("tzxhp@qq.com");
            mailMsg.Subject = subject;
            mailMsg.IsBodyHtml = true;
            mailMsg.BodyEncoding = System.Text.Encoding.Default;
            mailMsg.Body = body;
            mailMsg.Priority = MailPriority.Normal;
            mailMsg.ReplyTo = new MailAddress(to);
            // Smtp configuration
            SmtpClient client = new SmtpClient();
            client.UseDefaultCredentials = false;
            client.Credentials = new System.Net.NetworkCredential("申请的发件邮箱", "邮箱密码");
            client.Port = 587; //or use 465
            client.Host = "smtp.gmail.com";
            client.EnableSsl = true;
            client.Timeout = 90;

            client.SendCompleted += new SendCompletedEventHandler(client_SendCompleted);
            object userState = mailMsg;

            //you can also call client.Send(msg)
            client.SendAsync(mailMsg, userState);
    }


    static void client_SendCompleted(object sender, System.ComponentModel.AsyncCompletedEventArgs e)
    {
        MailMessage message = (MailMessage)e.UserState;
        try
        {
            if (e.Error != null)
            {
                ((SmtpClient)sender).SendAsyncCancel();
                throw new Exception(e.Error.Message);
            }
        }
        catch (Exception ex)
        {
            throw new Exception(ex.Message);
        }

        finally
        {
            message.Dispose();
        }

    }

posted on 2011-01-18 11:59  缘来  阅读(1165)  评论(0)    收藏  举报

导航