How to find out what type of error it is: Failure sending mail.

  • Thread starter Thread starter JoeP
  • Start date Start date
J

JoeP

Hi All,

How can I find the reason for such an error: Failure sending mail.

Some Code...

oMailMessage.IsBodyHtml = False
oMailMessage.Body = cEmailBody
Dim oSMTP As New SmtpClient
oSMTP.Send(oMailMessage) (in this line I am getting the above err)

Appreciate any feedback

Thanks,

Joe
 
Wrap the code in a try...catch block?


Hi All,

How can I find the reason for such an error: Failure sending mail.

Some Code...

oMailMessage.IsBodyHtml = False
oMailMessage.Body = cEmailBody
Dim oSMTP As New SmtpClient
oSMTP.Send(oMailMessage) (in this line I am getting the above err)

Appreciate any feedback

Thanks,

Joe
 
As Scott indicated, you need to learn to wire up your code with exception
handling in order to be able to determine "what went wrong".

So at a minimum:

oMailMessage.IsBodyHtml = False
oMailMessage.Body = cEmailBody
Dim oSMTP As New SmtpClient

Begin Try
oSMTP.Send(oMailMessage) (in this line I am getting the above err)
Catch ex as Exception
System.Diagnostics.Debug.WriteLine(ex.ToString() )
End Try

Sorry, I really haven't used Visual Basic for a very long time (a good thing)
But you get the idea. Put a breakpoint on the Debug.WriteLine statement and
you can examine the exception by hovering your mouse over the "ex" variable.


-- Peter
Site: http://www.eggheadcafe.com
UnBlog: http://petesbloggerama.blogspot.com
MetaFinder: http://www.blogmetafinder.com
 
oMailMessage.IsBodyHtml = False
oMailMessage.Body = cEmailBody
Dim oSMTP As New SmtpClient

Try
oSMTP.Send(oMailMessage) (in this line I am getting the above err)
Catch ex as Exception
System.Diagnostics.Debug.WriteLine(ex.ToString() )
End Try
 
Well I had actuallt the code like the below: The debugger poped up and just said that the Failure sending mail.
and did not provide the reason. But from some reason in my computer under Visual Studio 2005, the Alert message did not pop up.
Just wondering why? (The debugger did).

Thanks,

Joe

Try
some code.....
oMailMessage.IsBodyHtml = False
oMailMessage.Body = cEmailBody

Dim oSMTP As New SmtpClient
oSMTP.Send(oMailMessage) (in this line I am getting the above err)

Catch smtpEx As SmtpException
ClientScript.RegisterStartupScript(Me.GetType(), "E-Mail Problem", String.Format("Alert('There was a problem in sending the email: {0}');", smtpEx.Message.Replace("'", "\'")), True)

Catch generalEx As Exception

ClientScript.RegisterStartupScript(Me.GetType(), "General Problem", String.Format("alert('There was a general problem: {0}');", generalEx.Message.Replace("'", "\'")), True)

End Try




Wrap the code in a try...catch block?


Hi All,

How can I find the reason for such an error: Failure sending mail.

Some Code...

oMailMessage.IsBodyHtml = False
oMailMessage.Body = cEmailBody
Dim oSMTP As New SmtpClient
oSMTP.Send(oMailMessage) (in this line I am getting the above err)

Appreciate any feedback

Thanks,

Joe
 
Hi All,

Ok, after checking into it I had some code after the End Try and that was the reason Alert() did not pop up.
Moving that code under the Try fixed the problem.

But I am trying to break the message into 2 lines:

ClientScript.RegisterStartupScript(Me.GetType(), "E-Mail Problem", String.Format("Alert('There was a problem in sending the email! Please call us by phone {0}');", smtpEx.Message.Replace("'", "\'")), True)

Now how do I bring the actual err line into the second line of the Alert()

There was a problem in sending the email! Please call us by phone.
Unable to cast object of type 'System.Int32' to type 'System.Net.Mail.MailMessage'

Thanks,

Joe


Well I had actuallt the code like the below: The debugger poped up and just said that the Failure sending mail.
and did not provide the reason. But from some reason in my computer under Visual Studio 2005, the Alert message did not pop up.
Just wondering why? (The debugger did).

Thanks,

Joe

Try
some code.....
oMailMessage.IsBodyHtml = False
oMailMessage.Body = cEmailBody

Dim oSMTP As New SmtpClient
oSMTP.Send(oMailMessage) (in this line I am getting the above err)

Catch smtpEx As SmtpException
ClientScript.RegisterStartupScript(Me.GetType(), "E-Mail Problem", String.Format("Alert('There was a problem in sending the email: {0}');", smtpEx.Message.Replace("'", "\'")), True)

Catch generalEx As Exception

ClientScript.RegisterStartupScript(Me.GetType(), "General Problem", String.Format("alert('There was a general problem: {0}');", generalEx.Message.Replace("'", "\'")), True)

End Try




Wrap the code in a try...catch block?


Hi All,

How can I find the reason for such an error: Failure sending mail.

Some Code...

oMailMessage.IsBodyHtml = False
oMailMessage.Body = cEmailBody
Dim oSMTP As New SmtpClient
oSMTP.Send(oMailMessage) (in this line I am getting the above err)

Appreciate any feedback

Thanks,

Joe
 
When you are in a Catch section, notice that the exception is passed to the catch as "ex". If you check out the properties of "ex", you can find out about the exception. Start with this:

Catch ex As Exception
console.writeline("Exception type is: " & ex.getType.toString)
console.writeline("Exception message is: " & ex.Message)


Hi All,

Ok, after checking into it I had some code after the End Try and that was the reason Alert() did not pop up.
Moving that code under the Try fixed the problem.

But I am trying to break the message into 2 lines:

ClientScript.RegisterStartupScript(Me.GetType(), "E-Mail Problem", String.Format("Alert('There was a problem in sending the email! Please call us by phone {0}');", smtpEx.Message.Replace("'", "\'")), True)

Now how do I bring the actual err line into the second line of the Alert()

There was a problem in sending the email! Please call us by phone.
Unable to cast object of type 'System.Int32' to type 'System.Net.Mail.MailMessage'

Thanks,

Joe


Well I had actuallt the code like the below: The debugger poped up and just said that the Failure sending mail.
and did not provide the reason. But from some reason in my computer under Visual Studio 2005, the Alert message did not pop up.
Just wondering why? (The debugger did).

Thanks,

Joe

Try
some code.....
oMailMessage.IsBodyHtml = False
oMailMessage.Body = cEmailBody

Dim oSMTP As New SmtpClient
oSMTP.Send(oMailMessage) (in this line I am getting the above err)

Catch smtpEx As SmtpException
ClientScript.RegisterStartupScript(Me.GetType(), "E-Mail Problem", String.Format("Alert('There was a problem in sending the email: {0}');", smtpEx.Message.Replace("'", "\'")), True)

Catch generalEx As Exception

ClientScript.RegisterStartupScript(Me.GetType(), "General Problem", String.Format("alert('There was a general problem: {0}');", generalEx.Message.Replace("'", "\'")), True)

End Try




Wrap the code in a try...catch block?


Hi All,

How can I find the reason for such an error: Failure sending mail.

Some Code...

oMailMessage.IsBodyHtml = False
oMailMessage.Body = cEmailBody
Dim oSMTP As New SmtpClient
oSMTP.Send(oMailMessage) (in this line I am getting the above err)

Appreciate any feedback

Thanks,

Joe
 
My question is now how can I concatenate the 2 strings together into the message box for the Alert()?

ClientScript.RegisterStartupScript(Me.GetType(), "E-Mail Problem", String.Format("Alert('There was a problem in sending the email! Please call us by phone {0}');", smtpEx.Message.Replace("'", "\'")), True)

String 1 is: 'There was a problem in sending the email! Please call us by phone!
String 2 is:smtpEx.Message

Thanks.


When you are in a Catch section, notice that the exception is passed to the catch as "ex". If you check out the properties of "ex", you can find out about the exception. Start with this:

Catch ex As Exception
console.writeline("Exception type is: " & ex.getType.toString)
console.writeline("Exception message is: " & ex.Message)


Hi All,

Ok, after checking into it I had some code after the End Try and that was the reason Alert() did not pop up.
Moving that code under the Try fixed the problem.

But I am trying to break the message into 2 lines:

ClientScript.RegisterStartupScript(Me.GetType(), "E-Mail Problem", String.Format("Alert('There was a problem in sending the email! Please call us by phone {0}');", smtpEx.Message.Replace("'", "\'")), True)

Now how do I bring the actual err line into the second line of the Alert()

There was a problem in sending the email! Please call us by phone.
Unable to cast object of type 'System.Int32' to type 'System.Net.Mail.MailMessage'

Thanks,

Joe


Well I had actuallt the code like the below: The debugger poped up and just said that the Failure sending mail.
and did not provide the reason. But from some reason in my computer under Visual Studio 2005, the Alert message did not pop up.
Just wondering why? (The debugger did).

Thanks,

Joe

Try
some code.....
oMailMessage.IsBodyHtml = False
oMailMessage.Body = cEmailBody

Dim oSMTP As New SmtpClient
oSMTP.Send(oMailMessage) (in this line I am getting the above err)

Catch smtpEx As SmtpException
ClientScript.RegisterStartupScript(Me.GetType(), "E-Mail Problem", String.Format("Alert('There was a problem in sending the email: {0}');", smtpEx.Message.Replace("'", "\'")), True)

Catch generalEx As Exception

ClientScript.RegisterStartupScript(Me.GetType(), "General Problem", String.Format("alert('There was a general problem: {0}');", generalEx.Message.Replace("'", "\'")), True)

End Try




Wrap the code in a try...catch block?


Hi All,

How can I find the reason for such an error: Failure sending mail.

Some Code...

oMailMessage.IsBodyHtml = False
oMailMessage.Body = cEmailBody
Dim oSMTP As New SmtpClient
oSMTP.Send(oMailMessage) (in this line I am getting the above err)

Appreciate any feedback

Thanks,

Joe
 
Generally, you don't want to take information from the exception and send it directly to the client as this can expose security holes & proprietary code. Instead you find out what exception you have encountered in the Try...Catch and then you write whatever you find to be appropriate to the client based on that information. If you really want to include exception information directly in your output, it is a simple matter of concatenation:

ClientScript.RegisterStartupScript(Me.GetType(), "E-Mail Problem", String.Format("Alert('There was a {0} problem in sending the email! Please call us by phone {1}');", ex.GetType.ToString(), smtpEx.Message.Replace("'", "\'")), True)


My question is now how can I concatenate the 2 strings together into the message box for the Alert()?

ClientScript.RegisterStartupScript(Me.GetType(), "E-Mail Problem", String.Format("Alert('There was a problem in sending the email! Please call us by phone {0}');", smtpEx.Message.Replace("'", "\'")), True)

String 1 is: 'There was a problem in sending the email! Please call us by phone!
String 2 is:smtpEx.Message

Thanks.


When you are in a Catch section, notice that the exception is passed to the catch as "ex". If you check out the properties of "ex", you can find out about the exception. Start with this:

Catch ex As Exception
console.writeline("Exception type is: " & ex.getType.toString)
console.writeline("Exception message is: " & ex.Message)


Hi All,

Ok, after checking into it I had some code after the End Try and that was the reason Alert() did not pop up.
Moving that code under the Try fixed the problem.

But I am trying to break the message into 2 lines:

ClientScript.RegisterStartupScript(Me.GetType(), "E-Mail Problem", String.Format("Alert('There was a problem in sending the email! Please call us by phone {0}');", smtpEx.Message.Replace("'", "\'")), True)

Now how do I bring the actual err line into the second line of the Alert()

There was a problem in sending the email! Please call us by phone.
Unable to cast object of type 'System.Int32' to type 'System.Net.Mail.MailMessage'

Thanks,

Joe


Well I had actuallt the code like the below: The debugger poped up and just said that the Failure sending mail.
and did not provide the reason. But from some reason in my computer under Visual Studio 2005, the Alert message did not pop up.
Just wondering why? (The debugger did).

Thanks,

Joe

Try
some code.....
oMailMessage.IsBodyHtml = False
oMailMessage.Body = cEmailBody

Dim oSMTP As New SmtpClient
oSMTP.Send(oMailMessage) (in this line I am getting the above err)

Catch smtpEx As SmtpException
ClientScript.RegisterStartupScript(Me.GetType(), "E-Mail Problem", String.Format("Alert('There was a problem in sending the email: {0}');", smtpEx.Message.Replace("'", "\'")), True)

Catch generalEx As Exception

ClientScript.RegisterStartupScript(Me.GetType(), "General Problem", String.Format("alert('There was a general problem: {0}');", generalEx.Message.Replace("'", "\'")), True)

End Try




Wrap the code in a try...catch block?


Hi All,

How can I find the reason for such an error: Failure sending mail.

Some Code...

oMailMessage.IsBodyHtml = False
oMailMessage.Body = cEmailBody
Dim oSMTP As New SmtpClient
oSMTP.Send(oMailMessage) (in this line I am getting the above err)

Appreciate any feedback

Thanks,

Joe
 
Ok Thanks
Generally, you don't want to take information from the exception and send it directly to the client as this can expose security holes & proprietary code. Instead you find out what exception you have encountered in the Try...Catch and then you write whatever you find to be appropriate to the client based on that information. If you really want to include exception information directly in your output, it is a simple matter of concatenation:

ClientScript.RegisterStartupScript(Me.GetType(), "E-Mail Problem", String.Format("Alert('There was a {0} problem in sending the email! Please call us by phone {1}');", ex.GetType.ToString(), smtpEx.Message.Replace("'", "\'")), True)


My question is now how can I concatenate the 2 strings together into the message box for the Alert()?

ClientScript.RegisterStartupScript(Me.GetType(), "E-Mail Problem", String.Format("Alert('There was a problem in sending the email! Please call us by phone {0}');", smtpEx.Message.Replace("'", "\'")), True)

String 1 is: 'There was a problem in sending the email! Please call us by phone!
String 2 is:smtpEx.Message

Thanks.


When you are in a Catch section, notice that the exception is passed to the catch as "ex". If you check out the properties of "ex", you can find out about the exception. Start with this:

Catch ex As Exception
console.writeline("Exception type is: " & ex.getType.toString)
console.writeline("Exception message is: " & ex.Message)


Hi All,

Ok, after checking into it I had some code after the End Try and that was the reason Alert() did not pop up.
Moving that code under the Try fixed the problem.

But I am trying to break the message into 2 lines:

ClientScript.RegisterStartupScript(Me.GetType(), "E-Mail Problem", String.Format("Alert('There was a problem in sending the email! Please call us by phone {0}');", smtpEx.Message.Replace("'", "\'")), True)

Now how do I bring the actual err line into the second line of the Alert()

There was a problem in sending the email! Please call us by phone.
Unable to cast object of type 'System.Int32' to type 'System.Net.Mail.MailMessage'

Thanks,

Joe


Well I had actuallt the code like the below: The debugger poped up and just said that the Failure sending mail.
and did not provide the reason. But from some reason in my computer under Visual Studio 2005, the Alert message did not pop up.
Just wondering why? (The debugger did).

Thanks,

Joe

Try
some code.....
oMailMessage.IsBodyHtml = False
oMailMessage.Body = cEmailBody

Dim oSMTP As New SmtpClient
oSMTP.Send(oMailMessage) (in this line I am getting the above err)

Catch smtpEx As SmtpException
ClientScript.RegisterStartupScript(Me.GetType(), "E-Mail Problem", String.Format("Alert('There was a problem in sending the email: {0}');", smtpEx.Message.Replace("'", "\'")), True)

Catch generalEx As Exception

ClientScript.RegisterStartupScript(Me.GetType(), "General Problem", String.Format("alert('There was a general problem: {0}');", generalEx.Message.Replace("'", "\'")), True)

End Try




Wrap the code in a try...catch block?


Hi All,

How can I find the reason for such an error: Failure sending mail.

Some Code...

oMailMessage.IsBodyHtml = False
oMailMessage.Body = cEmailBody
Dim oSMTP As New SmtpClient
oSMTP.Send(oMailMessage) (in this line I am getting the above err)

Appreciate any feedback

Thanks,

Joe
 
Back
Top