Электронная почта активации/ссылка не работает

Я пытаюсь отправить электронное письмо для активации и попросить пользователя активировать свою учетную запись, нажав на предоставленную ссылку. Я настраивал его на основе открытого исходного кода, который я просматривал в Интернете, однако недавно он перестал отправлять электронное письмо без каких-либо ошибок. Вот форма регистрации с функцией отправки электронной почты:

Imports System.Data.SqlClient
Imports System.Data.Sql
Imports System.Data.SqlTypes
Imports System.Data
Imports System.Configuration
Imports System.Net.Mail
Imports System.Net
Imports System.Web
Imports System.Web.UI
Imports System.Web.UI.WebControls
Imports System.Web.UI.WebControls.WebParts
Imports System.Web.UI.HtmlControls


Public Class WebForm1
Inherits System.Web.UI.Page

Dim boolCar As Object

Private Sub btnSubmit_Click(sender As Object, e As EventArgs) Handles btnSubmit.Click
    If txtEmailAddress.Text.Trim.EndsWith("@umary.edu") Or txtPassword.Text.Trim = txtRetypePassword.Text.Trim Then
        Dim con As New SqlConnection
        Dim cmdEmail As New SqlCommand
        Dim cmdRegistration As New SqlCommand
        Dim EmailCount As Integer = 0

        Try
            con.ConnectionString = "Data Source=SERVERNAME;Initial Catalog=StudentGov;User ID=sa;Password=Password1"
            con.Open()

            cmdEmail = New SqlCommand("SELECT COUNT(UMaryEmail) As EmailCount FROM RegisteredUsers WHERE UMaryEmail='" & txtEmailAddress.Text.Trim & "'", con)
            EmailCount = cmdEmail.ExecuteScalar()

            If EmailCount = 0 Then
                ' Declare database input variables 
                Dim userId As Integer = 0
                Dim firstName As String = txtFirstName.Text
                Dim lastName As String = txtLastName.Text
                Dim hometown1 As String = txtHometown1.Text
                Dim state1 As String = txtState1.Text
                Dim zip1 As String = txtZipCode1.Text
                Dim hometown2 As String = txtHometown2.Text
                Dim state2 As String = txtState2.Text
                Dim zip2 As String = txtZipCode2.Text
                Dim phoneNum As String = txtPhoneNumber.Text
                Dim emailAddress As String = txtEmailAddress.Text
                Dim password As String = txtPassword.Text
                Dim boolCar As Boolean = False
                Dim boolUmary As Boolean = False

                If radYesNo.SelectedIndex = 0 Then
                    boolCar = True
                Else
                    boolCar = False
                End If

                ' Define the command using parameterized query 
                cmdRegistration = New SqlCommand("INSERT INTO RegisteredUsers(FirstName, LastName, Hometown1, State1, ZIP1, Hometown2, State2, ZIP2, PhoneNum, UMaryEmail, Password, Car) VALUES (@txtFirstName, @txtLastName, @txtHometown1, @txtState1, @txtZipCode1, @txtHometown2, @txtState2, @txtZipCode2, @txtPhoneNumber, @txtEmailAddress, @txtPassword, @RadYesNo)", con)

                ' Define the SQL parameter '
                cmdRegistration.Parameters.AddWithValue("@txtFirstName", txtFirstName.Text)
                cmdRegistration.Parameters.AddWithValue("@txtLastName", txtLastName.Text)
                cmdRegistration.Parameters.AddWithValue("@txtHometown1", txtHometown1.Text)
                cmdRegistration.Parameters.AddWithValue("@txtState1", txtState1.Text)
                cmdRegistration.Parameters.AddWithValue("@txtZipCode1", txtZipCode1.Text)
                cmdRegistration.Parameters.AddWithValue("@txtHometown2", txtHometown2.Text)
                cmdRegistration.Parameters.AddWithValue("@txtState2", txtState2.Text)
                cmdRegistration.Parameters.AddWithValue("@txtZipCode2", txtZipCode2.Text)
                cmdRegistration.Parameters.AddWithValue("@txtPhoneNumber", txtPhoneNumber.Text)
                cmdRegistration.Parameters.AddWithValue("@txtEmailAddress", txtEmailAddress.Text)
                cmdRegistration.Parameters.AddWithValue("@txtPassword", txtPassword.Text)
                cmdRegistration.Parameters.AddWithValue("@RadYesNo", boolCar)

                cmdRegistration.ExecuteNonQuery()
                SendActivationEmail(userId)
                Response.Redirect("RegistrationSuccess.aspx")
            Else
                ' Duplicate Email Exist Error Message
                MsgBox("Email address already supplied.")
            End If
            ' Catch ex As Exception (Not needed)
            ' Error Executing One Of The SQL Statements 
        Finally
            con.close()
        End Try
    Else
        ' Throw Error Message 
        MsgBox("Email input error")
    End If
End Sub

   Private Sub SendActivationEmail(userId As Integer)
    Dim sqlString As String = "Server=SERVERNAME;Database=StudentGov;UId=sa;Password=Password1;"
    Dim ActivationCode As String = Guid.NewGuid().ToString()
    Dim ActivationUrl As String = Server.HtmlEncode("http://localhost:63774/ActivateAccount.aspx?userId=" & FetchUserId(txtEmailAddress.ToString) & "&txtEmailAddress=" & txtEmailAddress.ToString & "&ActivationCode=" & ActivationCode.ToString)
    Using con As New SqlConnection(sqlString)
        Using sqlCmd As New SqlCommand("UPDATE RegisteredUsers SET UserId = '" + userId.ToString + "', ActivationCode = '" + ActivationCode.ToString + "' WHERE UMaryEmail='" + txtEmailAddress.Text + "';")
            Using sda As New SqlDataAdapter()
                sqlCmd.CommandType = CommandType.Text
                sqlCmd.Parameters.AddWithValue("@UserId", userId)
                sqlCmd.Parameters.AddWithValue("@ActivationCode", ActivationCode)
                sqlCmd.Connection = con
                con.Open()
                sqlCmd.ExecuteNonQuery()
                con.Close()
            End Using
        End Using
    End Using
    Using mm As New MailMessage("****@outlook.com", txtEmailAddress.Text)
        mm.Subject = "Account Activation"
        Dim body As String = "Hello " + txtFirstName.Text.Trim() + ","
        body += "<br /><br />Please click the following link to activate your account"
        body += "<br /><a href='" & ActivationUrl & "'>Click here to activate your account.</a>"
        body += "<br /><br />Thanks"
        mm.Body = body
        mm.IsBodyHtml = True
        Dim smtp As New SmtpClient()
        smtp.Host = "smtp.live.com"
        smtp.EnableSsl = True
        Dim NetworkCred As New NetworkCredential("****@outlook.com", "****")
        smtp.UseDefaultCredentials = True
        smtp.Credentials = NetworkCred
        smtp.Port = 587
        Try
            smtp.Send(mm)
        Catch ex As Exception
            MsgBox("Email was not sent")
        End Try
    End Using
End Sub

Private Function FetchUserId(emailAddress As String) As String
    Dim cmd As New SqlCommand()
    Dim con As New SqlConnection("Data Source=SERVERNAME;Initial Catalog=StudentGov;User ID=sa;Password=Password1")

    cmd = New SqlCommand("SELECT UserId FROM RegisteredUsers WHERE UMaryEmail=@txtEmailAddress", con)
    cmd.Parameters.AddWithValue("@txtEmailAddress", emailAddress)
    If con.State = ConnectionState.Closed Then
        con.Open()
    End If
    Dim userId As String = Convert.ToString(cmd.ExecuteScalar())
    con.Close()
    cmd.Dispose()
    Return userId
End Function
End Class

А вот и страница активации аккаунта:

Imports System.Data
Imports System.Data.SqlClient
Imports System.Configuration


Public Class ActivateAccount
Inherits System.Web.UI.Page

Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load
    If Not Page.IsPostBack Then
        ActivateMyAccount()
    End If
End Sub


Private Sub ActivateMyAccount()
    Dim con As New SqlConnection()
    Dim cmd As New SqlCommand()

    Try
        con.ConnectionString = "Data Source=CISWEB\UMCISSQL2008;Initial Catalog=StudentGov;User ID=sa;Password=Password1"
        If (Not String.IsNullOrEmpty(Request.QueryString("UserId"))) And (Not String.IsNullOrEmpty(Request.QueryString("UMaryEmail"))) Then

            'approve account by setting Is_Approved to 1 i.e. True in the sql server table
            cmd = New SqlCommand("UPDATE RegisteredUsers SET AccountActivated=1 WHERE UserId=@UserId AND UMaryEmail=@txtEmailAddress", con)
            cmd.Parameters.AddWithValue("@UserId", Request.QueryString("UserId"))

            cmd.Parameters.AddWithValue("@txtEmailAddress", Request.QueryString("UMaryEmail"))
            If con.State = ConnectionState.Closed Then
                con.Open()

            End If
            cmd.ExecuteNonQuery()
            Response.Write("You account has been activated. You can <a href='SignIn.aspx'>Sign in</a> now! ")

        End If
    Catch ex As Exception
        ScriptManager.RegisterStartupScript(Me, Me.[GetType](), "Message", "alert('Error occured : " & ex.Message.ToString() & "');", True)
        Return
    Finally
        con.Close()
        cmd.Dispose()
    End Try
End Sub
End Class

Как вы, наверное, уже поняли, я сбит с толку. Поскольку я не получаю сообщений об ошибках, я не знаю, почему функция SendActivationEmail больше не работает. Кто-нибудь помогите пожалуйста! :(


person FlummoxedUser    schedule 25.04.2014    source источник
comment
Просто сделайте diff резервной копии вашей рабочей версии.   -  person stark    schedule 26.04.2014
comment
Если я не пропустил, как вы (ожидали) получать сообщения об ошибках (относительно: что такое MsgBox в ASP.Net, а catch кажется закомментированным)?   -  person EdSF    schedule 26.04.2014
comment
Улов как исключение закомментирован, потому что он не нужен. Команды SQL, которые записывают в базу данных, работают нормально. Пишет правильно, единственная проблема в том, что электронное письмо не отправляется, и в последний раз, когда я пытался, ссылка активации, указанная в электронном письме, также не работает, она просто перенаправляет на пустую страницу.   -  person FlummoxedUser    schedule 26.04.2014
comment
Хорошо, я снова получаю электронные письма, но страница по ссылке по электронной почте по-прежнему ничего не отображает, совершенно пустая.   -  person FlummoxedUser    schedule 26.04.2014


Ответы (1)


Привет, FlummoxedUser, вы уверены, что тоже проверили свой код????

Взгляните сюда:

 Dim ActivationUrl As String = Server.HtmlEncode("http://localhost:63774/ActivateAccount.aspx?userId=" & FetchUserId(txtEmailAddress.ToString) & "&txtEmailAddress=" & txtEmailAddress.ToString & "&ActivationCode=" & ActivationCode.ToString)

Я думаю, что лучше использовать httputility.urlEncode/Decode для этого материала, где он использует его для фильтрации только результата каждой функции или одной переменной.

Второй позаботьтесь о своем коде выше

это на вашей странице:

  If (Not String.IsNullOrEmpty(Request.QueryString("UserId"))) And (Not String.IsNullOrEmpty(Request.QueryString("UMaryEmail"))) 

где вы нашли ключ "UmaryEmail" в параметрах строки запроса?????

Проверьте это, и вы решите свою проблему, но проверьте также в cmd и т. Д. На странице активации, иначе у вас возникнут проблемы :)

Я надеюсь, что это поможет вам, и если это решит вашу проблему, отметьте это как ответ.

ОБНОВИТЬ :

>   Dim ActivationUrl As String = Server.HtmlEncode("http://localhost:63774/ActivateAccount.aspx?userId=" & FetchUserId(txtEmailAddress.ToString) & "&txtEmailAddress=" & txtEmailAddress.ToString & "&ActivationCode=" & ActivationCode.ToString)

с этой задачей вы создаете ссылку для активации, которая будет выглядеть примерно так

http://localhost:63774/ActivateAccount.aspx?userId=1&txtEmailAddress=email@pippo&ActivationCode=123456

Теперь, что добавляется, когда вы нажимаете на этот запрос дескриптора сервера ссылок и создаете данные коллекции, которые включают все ключи в вашей строке запроса.

По сути, вы можете использовать request.QueryString для проверки/получения значений из каждого ключа. Таким образом, вы можете использовать, как и request.Querystring("keyname"), чтобы получить значение для этого конкретного параметра, НО в вашем случае вы проверяете ключ, который не передается в ссылку. Обратите внимание, что у вас настроены только 3 клавиши, которые

Идентификатор пользователя

txtАдрес электронной почты

Код активации

в строке запроса запроса нет ключа "UMaryEmail"

Также еще одна важная вещь НИКОГДА НЕ ПРОХОДИТЕ В ПОЛЕ БАЗЫ ДАННЫХ СТРОКИ ЗАПРОСА :) используйте фантастическое имя или короткое имя, которое не отражает поле базы данных

пример :

ID пользователя => UID

ActivatioCode = токен,acd,cd или что угодно

txtEmailAddress= электронная почта, em или любое другое имя

Теперь проблема со страницей активации, когда вы пытаетесь проверить свое значение, используйте оператор if, в котором проверяется ключ идентификатора пользователя и UMaryEmail, где идентификатор пользователя может быть сопоставлен, потому что он существует в строке запроса, но UmaryEmail не входит в строку запроса. и ничего не было показано на странице.

Здесь ваш Activation Sub пересматривается с некоторыми комментариями, чтобы лучше понять:

  Private Sub ActivateMyAccount()
    'Checking you keys in querystring

    If Request.QueryString.AllKeys.Contains("Userid") AndAlso Request.QueryString.AllKeys.Contains("txtEmailAddress") Then
        'here we assume that keys exist and so we can proceed with rest 
        If (Not String.IsNullOrEmpty(Request.QueryString("UserId"))) And (Not String.IsNullOrEmpty(Request.QueryString("txtEmailAddress"))) Then
            'no we can proceed to make other stuff 
            'Another stuff place you connection string within connection string section in webconfig in order to make a simple request like this one :

            'classic example for create a connection with web config file
            ' Using con As New SqlConnection(ConfigurationManager.ConnectionStrings("yourconnectionstringname").ToString)
            Using con As New SqlConnection("Data Source=CISWEB\UMCISSQL2008;Initial Catalog=StudentGov;User ID=sa;Password=Password1")

                If con.State = ConnectionState.Closed Then con.Open()
                Dim sqlQuery As String = "UPDATE RegisteredUsers SET AccountActivated=1 WHERE UserId=@UserId AND UMaryEmail=@txtEmailAddress"
                Using cmd As New SqlCommand(sqlQuery, con)
                    Try
                        With cmd
                            .Parameters.AddWithValue("@UserId", Request.QueryString("UserId"))
                            .Parameters.AddWithValue("@txtEmailAddress", Request.QueryString("txtEmailAddress"))
                            .ExecuteNonQuery()
                            Response.Write("You account has been activated. You can <a href='SignIn.aspx'>Sign in</a> now! ")
                        End With
                    Catch ex As Exception
                        ScriptManager.RegisterStartupScript(Me, Me.[GetType](), "Message", "alert('We apologize but something is gone wrong;our techs are checking the issue.Best regards etc etc etc');", True)
                    End Try

                End Using
            End Using
        Else
            Response.Write("<h1>invalid activation links!!</h1>")
        End If
    Else
        Response.Write("<h1>invalid activation links!!</h1>")
    End If
End Sub

Если ваш запрос правильный, он должен работать с первого раза :) Попробуйте и дайте мне знать, и если это решит вашу проблему, отметьте это как ответ

ОБНОВЛЕНИЕ 2:

Ваш фактический код:

    Dim ActivationUrl As String = Server.HtmlEncode("localhost:63774/ActivateAccount.aspx?userId=" & HttpUtility.UrlEncode(FetchUserId(txtEmailAddress.ToString)) & "&txtEmailAddress=" & HttpUtility.UrlEncode(txtEmailAddress.ToString) & "&ActivationCode=" & HttpUtility.UrlEncode(ActivationCode.ToString))

Но все не так, позвольте мне объяснить:

Объявите свою переменную: Dim ActivationUrl as string все в порядке. Затем создайте URL-адрес так:

="http://localhost:63774/ActivateAccount.aspx?userId=" & HttpUtility.UrlEncode(FetchUserId(txtEmailAddress.text.tostring)) & "&txtEmailAddress=" & HttpUtility.UrlEncode(txtEmailAddress.text.tostring) & "&ActivationCode=" & HttpUtility.UrlEncode(ActivationCode.ToString))

Где взгляните на фрагмент кода, который является вашим: «HttpUtility.UrlEncode(txtEmailAddress.ToString)», таким образом вы передаете объект типа системы значений, который представляет собой текстовое поле для передачи значения текстового поля, которое вам необходимо для доступа к его свойству .Text как txtEmailAddress .Text

Измените мой код выше, и он будет работать (если ваша процедура верна)

**КОД ОБНОВЛЕНИЯ 3**

Измените свой код с помощью этого. § будьте осторожны, ничего не меняйте, скопируйте и вставьте все подписки ActivateMyAccount и удалите свой старый.

Private Sub ActivateMyAccount()
    'Checking you keys in querystring

    If Request.QueryString.AllKeys.Contains("userId") And Request.QueryString.AllKeys.Contains("txtEmailAddress") Then
        'here we assume that keys exist and so we can proceed with rest 
        If (Not String.IsNullOrEmpty(Request.QueryString("userId"))) And (Not String.IsNullOrEmpty(Request.QueryString("txtEmailAddress"))) Then
            'no we can proceed to make other stuff 
            'Another stuff place you connection string within connection string section in webconfig in order to make a simple request like this one :

            'classic example for create a connection with web config file
            ' Using con As New SqlConnection(ConfigurationManager.ConnectionStrings("yourconnectionstringname").ToString)
            Using con As New SqlConnection("Data Source=CISWEB\UMCISSQL2008;Initial Catalog=StudentGov;User ID=sa;Password=Password1")

                If con.State = ConnectionState.Closed Then con.Open()
                Dim sqlQuery As String = "UPDATE RegisteredUsers SET AccountActivated=1 WHERE UserId=@UserId AND UMaryEmail=@txtEmailAddress"
                Using cmd As New SqlCommand(sqlQuery, con)
                    Try
                        With cmd
                            cmd.Parameters.AddWithValue("@UserId", Request.QueryString("userId"))
                            cmd.Parameters.AddWithValue("@txtEmailAddress", Request.QueryString("txtEmailAddress"))
                            cmd.ExecuteNonQuery()
                            Response.Write("You account has been activated. You can <a href='SignIn.aspx'>Sign in</a> now! ")
                        End With
                    Catch ex As Exception
                        ScriptManager.RegisterStartupScript(Me, Me.[GetType](), "Message", "alert('We apologize but something is gone wrong;our techs are checking the issue.Best regards etc etc etc');", True)
                    End Try

                End Using
            End Using
        Else
            Response.Write("<h1>invalid activation links!! bad query string</h1>")
        End If
    Else
        Response.Write("<h1>invalid activation links!! bad not string</h1>")
    End If
End Sub
person makemoney2010    schedule 26.04.2014
comment
Боюсь, я не понимаю, что вы пытаетесь сказать о ключе UMaryEmail. Он определяется как один из параметров на странице регистрации/регистрации выше. В базе данных SQL столбец адреса электронной почты называется UMaryEmail, поэтому я использовал это имя в этом запросе с оператором if, а не адрес электронной почты или txtEmailAddress. Был ли я не прав, когда использовал это имя? Я изменил server.htmlencode на httputility.urlEncode, но я слишком неопытен, чтобы понять разницу между этими двумя командами. Благодарю за ваш ответ. - person FlummoxedUser; 26.04.2014
comment
загляните в пост через несколько минут, я покажу вам несколько примеров :), чтобы помочь вам - person makemoney2010; 26.04.2014
comment
Я обновил свой код некоторыми изменениями в вашем коде, чтобы помочь вам. :) - person makemoney2010; 26.04.2014
comment
Хорошо, я попробовал ваш ActivateMyAccount, но по какой-то причине я не получаю электронное письмо. Я проверил свою нежелательную почту, но ее нигде нет. - person FlummoxedUser; 27.04.2014
comment
@FlummoxedUser, вы говорите: Хорошо, я попробовал ваш ActivateMyAccount, но по какой-то причине я не получаю электронное письмо. я внес некоторые изменения в ваш код для активации, поэтому, если ваша почта не отправляется, вам нужно проверьте свой код выше. Отладьте свое приложение, чтобы проверить, было ли выброшено исключение - person makemoney2010; 27.04.2014
comment
Обновление: я только что подтвердил, что электронные письма отправляются, но они не поступают ни в папку «Входящие», ни в папку «Спам». Я озадачен. - person FlummoxedUser; 27.04.2014
comment
Я попытался щелкнуть ссылку, созданную для просмотра из отправленных писем, и щелчок по ссылке ничего не делает. Я попытался переслать письмо самому себе, но при пересылке нет активной ссылки. Я думаю, это проблема со страницей ActivateMyAccount. - person FlummoxedUser; 28.04.2014
comment
Прежде всего, удалите @ из cmd.parameters.addwithvalue, это не требуется в vbnet, во-вторых, вставьте сюда свою ссылку активации, чтобы я мог посмотреть - person makemoney2010; 28.04.2014
comment
Вот как выглядит ссылка в электронном письме, когда она получена должным образом. Щелкните следующую ссылку, чтобы активировать свою учетную запись [http%3a%2f%2flocalhost%3a63774%2fActivateAccount.aspx%3fuserId%3d%26txtEmailAddress%3dSystem.Web.UI.WebControls.TextBox%26ActivationCode%3d145ce399-f577-42d9-aeac- eca2360d0d0e]Нажмите здесь, чтобы активировать свою учетную запись. - person FlummoxedUser; 28.04.2014
comment
1) эта ссылка не совсем верна: она должна быть localhost:63774:/ etc etc 2) txtEmailAdd‌​ress%3dSystem.Web.UI.WebControls.TextBox, который равен txtEmailAdd‌​res=System.Web.UI.WebControls.TextBox, это означает, что вы передаете ttxtEmailaddress в параметр txtEmailAddress вместо txtEmailAdd‌​ress. текст, который возвращает значение строки 3) Эта ссылка с ошибкой выше 2 никогда не работает - person makemoney2010; 28.04.2014
comment
Чтобы сделать это, httputility.UrlEncode также должен быть помещен после = в примере localhost:63774/ActivateAccount.aspx? UserID= httputility.UrlEncode(yourvalue) &txtEmailAddress= httputility.UrlEncode(Trim(txtEmailAddress.Text)) и т. д. Также поставьте пару точек останова на посмотрите, войдет ли он в ActivateMyAccount, а затем приступите к отладке, чтобы вы могли понять, что произошло. - person makemoney2010; 28.04.2014
comment
Убрал http:// в начале ссылки. Теперь в электронном письме говорится: Пожалуйста, нажмите на следующую ссылку, чтобы активировать свою учетную запись ]Нажмите здесь, чтобы активировать свою учетную запись. - person FlummoxedUser; 28.04.2014
comment
но вы понимаете, если ссылка работает или не работает @Fluxommed, проверьте свой код. :) - person makemoney2010; 28.04.2014
comment
Строка ActivationUrl изменена на: Dim ActivationUrl As String = Server.HtmlEncode(localhost:63774/ActivateAccount.aspx?userId= & HttpUtility.UrlEncode(FetchUserId(txtEmailAddress.ToString)) & &txtEmailAddress= & HttpUtility.UrlEncode(txtEmailAddress.ToString) & &ActivationCode= & HttpUtility.UrlEncode(ActivationCode.ToString)) примерно так, верно? Теперь электронная почта: Пожалуйста, нажмите на следующую ссылку, чтобы активировать свою учетную запись Нажмите здесь, чтобы активировать свою учетную запись. без рабочей ссылки. - person FlummoxedUser; 28.04.2014
comment
взгляните на мой ответ, я обновлю ваш код там. Это все неправильно :) посмотри, я объясню в UPDATE2 - person makemoney2010; 28.04.2014
comment
Теперь изменено на это: Dim ActivationUrl As String = localhost:63774/ActivateAccount.aspx?userId= & HttpUtility.UrlEncode(FetchUserId(txtEmailAddress.Text.ToString)) & &txtEmailAddress= & HttpUtility.UrlEncode(txtEmailAddress.Text.ToString) & & ActivationCode= & HttpUtility.UrlEncode(ActivationCode.ToString), но это все еще не URL-ссылка в электронной почте. - person FlummoxedUser; 28.04.2014
comment
@FlummoxedUser используйте http, это необходимо - person makemoney2010; 29.04.2014
comment
да, я использовал [localhost:63774/ActivateAccount.aspx?userId= и т. д.], просто по этой ссылке почему-то не отображается. Ссылка работает, но при переходе по ней пишет: Страница не может быть отображена. - person FlummoxedUser; 29.04.2014
comment
Он там есть, не знаю почему он его не показывает - у меня он такой: H T T P : // L O C A L H O S T : 6 3 7 7 4 / A C T I V A T E A C O U N T . А С П Х ? П С Е Р И Д = - person FlummoxedUser; 29.04.2014
comment
если у вас есть Team Viewer, напишите мне в скайпе turri.giorgio, чтобы я мог проверить ваш код, мы скоро решим - person makemoney2010; 29.04.2014
comment
Хорошо, кроме того, что электронная почта каждый раз отбрасывается, я получил страницу для отображения сейчас, и она говорит о недействительных ссылках активации! -- приближаться!! :) - person FlummoxedUser; 29.04.2014
comment
это означает, что что-то пошло не так во время проверки или что не проходит процедура обновления, по сути, она работает также, потому что во втором блоке else у вас неверная ссылка для проверки, поэтому вам нужно понять, в чем проблема. Многие находят меня в скайпе с помощью id turri.giorgio отправьте мне сообщение, чтобы я мог помочь вам через Team Viewer, который работает быстрее, и я могу решить проблему вместе с вами. - person makemoney2010; 29.04.2014
comment
Какие-нибудь Новости? вы нашли проблему? - person makemoney2010; 29.04.2014
comment
Да, это строка: If Request.QueryString.AllKeys.Contains(Userid) AndAlso Request.QueryString.AllKeys.Contains(txtEmailAddress) Then - person FlummoxedUser; 29.04.2014
comment
измените идентификатор пользователя в userId, это должно быть проблемой. Я не уверен, что он соответствует строке с учетом регистра. - person makemoney2010; 29.04.2014
comment
отправьте мне свой код на [email protected]. Скопируйте и вставьте в текстовый файл, я отвечу по почте через несколько минут, это действительно странно - person makemoney2010; 29.04.2014
comment
дайте мне знать, куда вы отправляете письмо - person makemoney2010; 29.04.2014
comment
письмо отправлено на [email protected] - person FlummoxedUser; 29.04.2014
comment
@FlummoxedUser, извините, пришлите мне ссылку активации с вашего электронного письма - person makemoney2010; 29.04.2014
comment
хорошо, во-первых, если вам нужно изменить AndAlso на And my error и проверить - person makemoney2010; 30.04.2014
comment
я не могу попробовать часть sql, у меня нет БД для этого - person makemoney2010; 30.04.2014
comment
хорошо, я изменил AndAlso на And, но это не сработало. Я поработаю над этим завтра. - person FlummoxedUser; 30.04.2014
comment
он отлично работает с моей стороны, за исключением части базы данных, для которой у меня нет базы данных для ее тестирования. Сделайте один материал, возьмите код, который я обновляю сейчас, на странице в разделе ОБНОВЛЕНИЕ 3 КОД, потому что он работает для меня и должен работать для вас тоже - person makemoney2010; 30.04.2014
comment
ОМГ ЭТО РАБОТАЕТ!! СПАСИБО ОГРОМНОЕ!! :Д :Д :Д - person FlummoxedUser; 30.04.2014