发现注册后发送邮件有困难

时间:2015-01-24 03:06:23

标签: c# asp.net email smtp

我需要你的支持人员,因为下面的邮件发送部分代码不能正常工作,因为我正在尝试很多时间,但我还没有收到任何邮件,所以请你帮我解决这个问题没有任何问题。错误消息但没有任何电子邮件进入我的收件箱。 (" admin@gmail.com只是一个示例,这封电子邮件假设为"来自"以及将写入的电子邮件" emailbox.Text"是&# 34;致(我的意思是用户)")

protected void btnSave_Click(object sender, EventArgs e)
    {

        HttpCookie cookie = Request.Cookies.Get("Location");
        string Location = string.Empty;
        SqlConnection cn = new SqlConnection(sc);
        SqlCommand cmd = new SqlCommand();
        Location = cookie.Value;

        if (CheckBox1.Checked)
        {


            string sqlstatment = @"INSERT INTO UserInfo (UID, FN, LN, Password, RePass, Email,Country, State,City, Post, Img, Logo,RegDate,Address, UsrType,BizCateg,BizSubCateg) VALUES
            (@UID,@FN,@LN,@Password,@RePass,@Email,@Country,@State,@City,@Post,@Img,@Logo,@RegDate,@Address,@UsrType,@BizCateg,@BizSubCateg)";

            cmd.Connection = cn;
            cmd.CommandType = CommandType.Text;
            cmd.CommandText = sqlstatment;

            //Insert the parameters first
            cmd.Parameters.AddWithValue("@UID", UsrNme.Text);
            cmd.Parameters.AddWithValue("@FN", fnbox.Text);
            cmd.Parameters.AddWithValue("@LN", lnamebox.Text);
            cmd.Parameters.AddWithValue("@Password", passtxtbx1.Text);
            cmd.Parameters.AddWithValue("@RePass", passtxtbx2.Text);
            cmd.Parameters.AddWithValue("@Email", emailbox.Text);
            cmd.Parameters.AddWithValue("@Country", cookie.Value);
            cmd.Parameters.AddWithValue("@State", statedrdolst.SelectedItem.Text);
            cmd.Parameters.AddWithValue("@City", citiesdrdolst.SelectedItem.Text);
            cmd.Parameters.AddWithValue("@Post", postbox.Text);

            cmd.Parameters.AddWithValue("@Logo", logoFileUpload.FileName);
            cmd.Parameters.AddWithValue("@Address", regaddrstxtbx.Text);
            cmd.Parameters.AddWithValue("@UsrType", UsrTypeDrDo.SelectedItem.Text);
            //cmd.Parameters.AddWithValue("@BizCateg", BizCateDDL.SelectedItem.Text);
            //cmd.Parameters.AddWithValue("@BizSubCateg", SubCatBizDDL.SelectedItem.Text);


            if (BizCateDDL.SelectedIndex < 0)
                cmd.Parameters.AddWithValue("@BizCateg", DBNull.Value);
            else
                cmd.Parameters.AddWithValue("@BizCateg", BizCateDDL.SelectedItem.Value);


            if (SubCatBizDDL.SelectedIndex < 0)
                cmd.Parameters.AddWithValue("@BizSubCateg", DBNull.Value);
            else
                cmd.Parameters.AddWithValue("@BizSubCateg", SubCatBizDDL.SelectedItem.Value);

            cmd.Parameters.AddWithValue("@RegDate", DateTime.Now);



            if (!string.IsNullOrEmpty(UsrNme.Text))
            {
                Lblcheckusername.Text = "User Name Already Exist";
                Lblcheckusername.ForeColor = System.Drawing.Color.Red;
            }
            else
            {
                Lblcheckusername.Text = "User Name Available";
                Lblcheckusername.ForeColor = System.Drawing.Color.Green;
            }

            string imgnouser = "/images/general/nouser.jpg";
            if (persimgFileUpload1.HasFile)
            {
                cmd.Parameters.AddWithValue("@Img", persimgFileUpload1.FileName);
                persimgFileUpload1.SaveAs(Server.MapPath("~/images/users/" + persimgFileUpload1.FileName));

            }
            else
            {

                cmd.Parameters.AddWithValue("@Img", imgnouser);

            }


            if (logoFileUpload.HasFile)
            {

                logoFileUpload.SaveAs(Server.MapPath("~/images/Logos/" + logoFileUpload.FileName));

            }

            SqlDataAdapter ad = new SqlDataAdapter(cmd);
            DataSet ds = new DataSet();
            ad.SelectCommand = cmd;
            ad.Fill(ds);
            Session["UsrNme"] = UsrNme.Text;


            const string username = "admin@gmail.com";

            const string password = "admin111";
            SmtpClient smtpclient = new SmtpClient();
            System.Net.Mail.MailMessage mail = new System.Net.Mail.MailMessage();

            MailAddress fromaddress = new MailAddress("admin@gmail.com");

            smtpclient.Host = "smtp.gmail.com";

            smtpclient.Port = 587;
            mail.From = fromaddress;

            mail.To.Add(emailbox.Text);

            mail.Subject = ("Test Subject");
            mail.IsBodyHtml = true;

            mail.Body = "This is test Mail";
            smtpclient.DeliveryMethod = SmtpDeliveryMethod.Network;
            smtpclient.Credentials = new System.Net.NetworkCredential(username, password);
            try
            {

                smtpclient.Send(mail);
                Response.Write("Email Has been sent successfully.");
            }
            catch (Exception ex)
            {

                Response.Write(ex.Message);
            }


            Response.Redirect("User panel.aspx");
            }

            else
            {
            Label1.Text = "please check the box to continue";
            }

    }

2 个答案:

答案 0 :(得分:0)

尝试更改以下行

smtpclient.Port = 587;

smtpclient.Port = 465;
smtpclient.EnableSsl = true;

答案 1 :(得分:0)

还有其他一些你应该检查的东西。打开您的Gmail帐户并检查您是否收到系统邮件,通知您已阻止尝试发送电子邮件。如果是这样,您还应该将gmail的设置更改为“安全性较低”,因为系统会检测到您尝试从第三方应用发送电子邮件并阻止它。

相关问题