Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/335.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用C#发送消息在本地有效,但在现场无声失败_C#_Asp.net_Gmail - Fatal编程技术网

使用C#发送消息在本地有效,但在现场无声失败

使用C#发送消息在本地有效,但在现场无声失败,c#,asp.net,gmail,C#,Asp.net,Gmail,我正在使用以下代码发送预订表单,但它在本地工作,但当我将其上线时,它失败了,并且不确定原因: protected void Page_Load(object sender, EventArgs e) { } protected void SendMail() { var sDate = startDate.Text; var eDate = endDate.Text; // Gmail Address fr

我正在使用以下代码发送预订表单,但它在本地工作,但当我将其上线时,它失败了,并且不确定原因:

   protected void Page_Load(object sender, EventArgs e)
    {

    }
    protected void SendMail()
    {
        var sDate = startDate.Text;
        var eDate = endDate.Text;

        // Gmail Address from where you send the mail
        var fromAddress = "xxx@googlemail.com";
        // any address where the email will be sending
        var toAddress = "silverhillcattery@hotmail.co.uk";
        //Password of your gmail address
        const string fromPassword = "xxx";
        // Passing the values and make a email formate to display
        string subject = YourSubject.Text.ToString();
        string body = "From: " + YourName.Text + "\n";
        body += "Email: " + YourEmail.Text + "\n";
        body += "Contact Number: " + txtContactNumber.Text + "\n";
        body += "Subject: " + YourSubject.Text + "\n";
        body += "Question: \n" + Comments.Text + "\n";
        body += "Pet Name(s): \n" + txtPetName.Text + "\n";
        body += "Start Date: \n" + sDate + "\n";
        body += "End Date: \n" + eDate + "\n";

        // smtp settings
        var smtp = new System.Net.Mail.SmtpClient();
        {
            smtp.Host = "smtp.gmail.com";
            smtp.Port = 587;
            smtp.EnableSsl = true;
            smtp.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network;
            smtp.Credentials = new NetworkCredential(fromAddress, fromPassword);
            smtp.Timeout = 20000;
        }
        // Passing values to smtp object
        smtp.Send(fromAddress, toAddress, subject, body);
    }

    protected void Button1_Click(object sender, EventArgs e)
    {
        try
        {
            //here on button click what will done 
            SendMail();
            DisplayMessage.Text = "Thank you for contacting us we will get back to you shortly.  If you would like to talk to us, please call 0208 236 9572";
            DisplayMessage.Visible = true;
            YourSubject.Text = "";
            YourEmail.Text = "";
            YourName.Text = "";
            Comments.Text = "";
        }
        catch (Exception) { }
    }
它不会发送消息或显示“感谢您联系…”

这是网站www.silverhillcattery.co.uk

任何帮助都将不胜感激

更新:

我已按建议添加了错误消息,现在出现以下错误:

“SMTP服务器需要安全连接,或者客户端未经身份验证”


我将研究这个问题。

我只能猜测您的凭据在您的本地环境中有效,但在您的实时环境中无效。如果您的代码在发送时出现异常而失败,它将绕过显示代码,直接转到“捕获”代码

为了调试它,我会将send放在显示之后,以查看发生了什么,或者更恰当地修改catch(异常)以捕获错误并显示它

catch (Exception ex) 
{
          DisplayMessage.Text = "Failed to send email. Error = " + ex.message;
        DisplayMessage.Visible = true;
}