2016-01-24 4 views
0

У меня есть код, который успешно отправил электронные письма на три года. По состоянию на неделю назад эти письма не приходят. Мне было интересно, вызывает ли AVG проблему или McFee WebProtector.Отправленные сообщения прекратились - изменение кода не было

Я предоставил код ниже, чтобы вы могли видеть мой метод.

web.config

<appSettings> 
<add key="FromAddress" value="[email protected]" /> 
<add key="FromName" value="My Domain Website" /> 
<add key="ToAddress" value="[email protected]" /> 
<add key="ToName" value="Web Master" /> 
<add key="SendMailOnError" value="false" /> 
</appSettings> 

<mailSettings> 
    <smtp deliveryMethod="Network" from="Web Master &lt;[email protected]&gt;"> 
    <network host="mail.btinternet.com" userName="[email protected]" password="NinaDobreva" /> 
    </smtp> 
</mailSettings> 

веб

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 

Запуск его в отладке он выполняет оператор mySmtpClient.Send нормально. В любом случае, я могу отслеживать, что происходит после этого?

Я вручную (через внешний вид) отправил электронные письма на одни и те же адреса электронной почты, чтобы проверить, все ли они все еще работают, какие они есть. И я также проверил все нежелательные папки и т. Д.

Но поскольку все это работает (с прошлого вторника), это заставляет меня думать, что это должна быть некоторая проблема с кодом? Любые идеи будут высоко оценены.

+0

Есть ли в вашем lblResult сообщение об ошибке? Можете ли вы добавить сообщение об ошибке, которое вы ловите, что заставляет его отображаться? –

+0

Вы пытались вручную отправить электронное письмо с учетной записи/сервера, который вы используете, чтобы отправить эти письма? Поскольку 'smtp.send' возвращает нуль, вам просто нужно предположить, что он был отправлен на сервер и поставлен в очередь. На данный момент вы не узнаете, если не получите исключение. Единственный другой способ - проверить сервер ... – Codexer

+0

Если письмо по какой-то причине отклонено, вы должны определенно получить код ответа и описание проблемы. – Codexer

ответ

0

Предложение Карен Пейн привело к тому, что проблема исчезла и является хорошей практикой. Смотри ниже.

Я бы очень хотел подписаться на SendCompleted, используя приведенный ниже пример, чтобы увидеть, есть ли ошибки. systemnetmail.com/faq/4.6.aspx - Карен Пейн вчера