5
i need solution for this error 

i am run that time some error occur there is:Send Email Failed. The SMTP server requires a secure connection or the client was not authenticated. The server response was: 5.7.0 Must issue a STARTTLS command first. i1sm8651517pbj.70

using System;
    using System.Configuration;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.HtmlControls;
    using System.Net.Mail;

    public partial class _Default : System.Web.UI.Page 
    {
        #region  "Send email"
        protected void btnSendmail_Click(object sender, EventArgs e)
        {
            // System.Web.Mail.SmtpMail.SmtpServer is obsolete in 2.0
            // System.Net.Mail.SmtpClient is the alternate class for this in 2.0
            SmtpClient smtpClient = new SmtpClient();
            MailMessage message = new MailMessage();

            try
            {
                MailAddress fromAddress = new MailAddress(txtEmail.Text, txtName.Text);

                // You can specify the host name or ipaddress of your server
                // Default in IIS will be localhost 
                smtpClient.Host = "smtp.gmail.com";

                //Default port will be 25
                smtpClient.Port = 587;

                //From address will be given as a MailAddress Object
                message.From = fromAddress;

                // To address collection of MailAddress
                message.To.Add("[email protected]");
                message.Subject = "Feedback";

                // CC and BCC optional
                // MailAddressCollection class is used to send the email to various users
                // You can specify Address as new MailAddress("[email protected]")
                message.CC.Add("[email protected]");
                message.CC.Add("[email protected]");

                // You can specify Address directly as string
                message.Bcc.Add(new MailAddress("[email protected]"));
                message.Bcc.Add(new MailAddress("[email protected]"));

                //Body can be Html or text format
                //Specify true if it  is html message
                message.IsBodyHtml = false;

                // Message body content
                message.Body = txtMessage.Text;

                // Send SMTP mail
                smtpClient.Send(message);

                lblStatus.Text = "Email successfully sent.";
            }
            catch (Exception ex)
            {
                lblStatus.Text = "Send Email Failed.<br>" + ex.Message;
            }
        }
        #endregion

        #region "Reset"
        protected void btnReset_Click(object sender, EventArgs e)
        {
            txtName.Text = "";
            txtMessage.Text = "";
            txtEmail.Text = "";
        }
        #endregion
    }

4 Answers 4

3

You need to set the SmtpClient.Credentials property:

smtpClient.Credentials = new NetworkCredentials("yourUserName", "yourPassword");

This is what is used to authenticate in order to send the message. You may also need to ensure that SSL is enabled:

smtpClient.EnableSsl = true;

SmtpClient.Credentials Property MSDN Reference

Sign up to request clarification or add additional context in comments.

Comments

2

It seems that you are trying to send an email using GMail, which requires SSL.
See this Google reference post.

So in your web.config, enable SSL this way:

<system.net>
    <mailSettings>
      <smtp deliveryMethod="network">
        <network host="smtp.gmail.com" port="587" enableSsl="true" userName="YOURUSERNAME" password="YOURPASSWORD" />
      </smtp>
    </mailSettings>
  </system.net>

Alternatively, you can set it programmatically this way:

smtpClient.EnableSsl = true;

Comments

0

I think you forgot to set EnableSSL property to true which is required for gmail.

Here is the sample code:

protected void btnSend_Click(object sender, EventArgs e)
{
    try
    {              
        MailMessage msg = new MailMessage();
        msg.From = new MailAddress(txtFrom.Text);                
        msg.To.Add(new MailAddress(txtTo.Text));
        msg.Subject = txtSubject.Text;
        msg.Body = txtBody.Text;                           

        SmtpClient mySmtpClient = new SmtpClient();
        System.Net.NetworkCredential myCredential = new System.Net.NetworkCredential(txtFrom.Text,txtPwd.Text);
        mySmtpClient.Host = "smtp.gmail.com";
        mySmtpClient.Port=587;
        mySmtpClient.EnableSsl = true;
        mySmtpClient.UseDefaultCredentials = false;
        mySmtpClient.Credentials = myCredential;                

        mySmtpClient.Send(msg);
        msg.Dispose();
        lberr.Text="Message sent successfully";
        clrtxt();
    }
    catch(SmtpException)
    {
        lberr.Text="SMTP Error handled";
    }
}

Comments

-1
public void SendMail()
{
    System.Net.Mail.MailMessage mail = new System.Net.Mail.MailMessage();
    mail.To.Add(MailTo.Text);
    mail.From = new MailAddress(MailFrom.Text,"Invoice");
    mail.Subject = Subject.Text;
    mail.Body = Body.Text;
    mail.IsBodyHtml = true;



    string FileName = Path.GetFileName(FileUploadAttachments.PostedFile.FileName);
    Attachment attachment = new Attachment(FileUploadAttachments.PostedFile.InputStream ,FileName);
    mail.Attachments.Add(attachment);            

    SmtpClient client = new SmtpClient();
    client.Credentials = new System.Net.NetworkCredential("[email protected]", "Your_Email_Password");
    client.Host = "smtpout.secureserver.net";
    client.Port = 80;
    try
    {
        client.Send(mail);
    }
    catch (Exception ex)
    {
        System.Windows.Forms.MessageBox.Show(ex.Message);
    }
}

3 Comments

Send Email with ATTACHMENTS from GODADDY using C# Asp.Net
You can add comments and explanations to your code in your answer.
Your answer does not work for Gmail and does not solve the error in the question.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.