• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 575
  • Last Modified:

asp.net vb email

I have email script, and it works fine in the sample page.
However, if I copy and paste the script in other page, it stop working.
It doesn't give me any error message, and I have no idea what's causing it.
IDs are the same in both pages.
May be it's conflicting with other script in code behind VB.

Any idea?

Thank you.
Protected Sub btnSend_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnSend.Click
        Dim mailMessage As New System.Net.Mail.MailMessage
        mailMessage.From = New System.Net.Mail.MailAddress("test@test.com")
        mailMessage.To.Add(New MailAddress("test@test.com"))
        mailMessage.Subject = "I assigned you a job"
        Dim plainTextView As System.Net.Mail.AlternateView = System.Net.Mail.AlternateView.CreateAlternateViewFromString("text/plain", Nothing, "text/plain")
        Dim htmlView As System.Net.Mail.AlternateView = System.Net.Mail.AlternateView.CreateAlternateViewFromString("text/html", Nothing, "text/html")
        Dim smtpClient As New SmtpClient()
        Dim userState As Object = mailMessage
        AddHandler smtpClient.SendCompleted, AddressOf SmtpClient_OnCompleted
            smtpClient.SendAsync(mailMessage, userState)
        Catch recExc As System.Net.Mail.SmtpFailedRecipientsException
            For receipient = 0 To recExc.InnerExceptions.Length
                Dim statusCode As System.Net.Mail.SmtpStatusCode
                statusCode = recExc.InnerExceptions(receipient).StatusCode
                If (statusCode = SmtpStatusCode.MailboxBusy) Or (statusCode = SmtpStatusCode.MailboxUnavailable) Then
                    smtpClient.SendAsync(mailMessage, userState)
                End If
        Catch smtpExc As System.Net.Mail.SmtpException
        Catch ex As Exception
        End Try
    End Sub

Open in new window

  • 2
1 Solution
Did you try setting breakpoints and see if it is not hitting any Catch?
set breakpoints at
Try and all Catch and then debug ....Or add
Respose.Write(smtpExc.ToString) and
Respose.Write(ex.ToString) to your ending catch blocks..
jtuttle99Author Commented:
Hello, I did response.Write and got following message.

System.Net.Mail.SmtpException: Failure sending mail. ---> System.InvalidOperationException: Asynchronous operations are not allowed in this context. Page starting an asynchronous operation has to have the Async attribute set to true and an asynchronous operation can only be started on a page prior to PreRenderComplete event. at System.Web.AspNetSynchronizationContext.OperationStarted() at System.Net.Mail.SmtpClient.SendAsync(MailMessage message, Object userToken) --- End of inner exception stack trace --- at System.Net.Mail.SmtpClient.SendAsync(MailMessage message, Object userToken) at maintain_employee_Default.SendMail() in C:\Documents and Settings\shinyat\My Documents\Visual Studio 2008\WebSites\greenlake\maintain\employee\blog_emp.aspx.vb:line 363
jtuttle99Author Commented:
And I added Async="true" in the page, and it worked!
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

The 14th Annual Expert Award Winners

The results are in! Meet the top members of our 2017 Expert Awards. Congratulations to all who qualified!

  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now