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

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
 
S

Scott M.

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
 
P

Peter Bromberg [C# MVP]

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
 
S

Scott M.

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
 
J

JoeP

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
 
J

JoeP

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
 
S

Scott M.

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
 
J

JoeP

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
 
S

Scott M.

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
 
J

JoeP

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
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,744
Messages
2,569,482
Members
44,901
Latest member
Noble71S45

Latest Threads

Top