Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/15.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
Asp.net 电子邮件停止到达-无编码更改_Asp.net_Vb.net_Email_Visual Studio 2015_Smtpclient - Fatal编程技术网

Asp.net 电子邮件停止到达-无编码更改

Asp.net 电子邮件停止到达-无编码更改,asp.net,vb.net,email,visual-studio-2015,smtpclient,Asp.net,Vb.net,Email,Visual Studio 2015,Smtpclient,我的代码已经成功发送电子邮件三年了。截至一周前,这些电子邮件未能送达。我想知道是AVG导致了问题还是McFee WebProtector 我提供了下面的代码,以便您可以看到我的方法 web.config <appSettings> <add key="FromAddress" value="webmaster@mydomain.com" /> <add key="FromName" value="My Domain Website" /> <add ke

我的代码已经成功发送电子邮件三年了。截至一周前,这些电子邮件未能送达。我想知道是AVG导致了问题还是McFee WebProtector

我提供了下面的代码,以便您可以看到我的方法

web.config

<appSettings>
<add key="FromAddress" value="webmaster@mydomain.com" />
<add key="FromName" value="My Domain Website" />
<add key="ToAddress" value="webmaster@mydomain.com" />
<add key="ToName" value="Web Master" />
<add key="SendMailOnError" value="false" />
</appSettings>

<mailSettings>
  <smtp deliveryMethod="Network" from="Web Master &lt;me@btinternet.com&gt;">
    <network host="mail.btinternet.com" userName="me@btinternet.com" password="NinaDobreva" />
  </smtp>
</mailSettings>
在调试中运行它,它将执行mySmtpClient.Send语句ok。我能追踪这之后发生了什么吗

我已经手动(通过outlook)将电子邮件发送到相同的电子邮件地址,以检查它们是否仍在工作。我还检查了所有的垃圾文件夹等


但由于所有这些都在起作用(从上周二开始),这让我觉得一定是非代码问题?如果您有任何想法,我们将不胜感激。

卡伦·佩恩的建议解决了这个问题,这是一个很好的做法。见下文


我强烈建议订阅SendCompleted,使用下面的示例查看是否有错误。systemnetmail.com/faq/4.6.aspx–Karen Payne昨天

您的lblResult中是否包含错误消息?您是否可以附加正在捕获的错误消息以显示该消息?您是否尝试从用于发送这些电子邮件的帐户/服务器手动发送电子邮件?由于
smtp.send
返回空值,您只需假设它已发送到服务器并排队。在这一点上,除非你得到一个例外,否则你不会知道。唯一的其他方法是能够检查服务器…如果电子邮件因某种原因被拒绝,您肯定会得到一个响应代码和问题的描述。还有一个原因是您将使用默认的ISP电子邮件服务器发送这些邮件。通常发送电子邮件时,你会得到一个用于此目的的帐户…我强烈建议订阅SendCompleted,使用下面的示例查看是否有错误。
Dim fileName As String = Server.MapPath("~/App_Data/ContactForm.txt")
        Dim mailBody As String = File.ReadAllText(fileName)

        mailBody = mailBody.Replace("##Name##", Name.Text)
        mailBody = mailBody.Replace("##Email##", EmailAddress.Text)
        mailBody = mailBody.Replace("##HomePhone##", PhoneHome.Text)
        mailBody = mailBody.Replace("##BusinessPhone##", PhoneBusiness.Text)
        mailBody = mailBody.Replace("##Comments##", Comments.Text)

        Dim myMessage As MailMessage = New MailMessage()
        myMessage.Subject = "Response from Website Contact Form"
        myMessage.Body = mailBody
        myMessage.From = New MailAddress(ConfigurationManager.AppSettings.Item("FromAddress").ToString, ConfigurationManager.AppSettings.Item("FromName").ToString)
        myMessage.To.Add(New MailAddress(ConfigurationManager.AppSettings.Item("ToAddress").ToString, ConfigurationManager.AppSettings.Item("ToName").ToString))

        Dim mySmtpClient As SmtpClient = New SmtpClient()
        Try
            mySmtpClient.Send(myMessage)
            Message.Text = "Thank you. Your message has been sent."
        Catch
            lblResult.Text = "Transmission error, please try again."
            lblResult.ForeColor = Drawing.Color.Red
            Message.Text = "Error sending message. Message not sent."
        End Try

    Else
        lblResult.Text = "Incorrect, please try again."
        lblResult.ForeColor = Drawing.Color.Red
        Message.Text = "Message not sent."
    End If