그래, 내 문제는 이것입니다. 양식을 제출할 때 전자 메일을 보내는 간단한 vbscript가 있습니다. 일단 페이지가로드 될 때, 그리고 한 번에 제출 :이 코드에있을 때 다음과 같이 이메일을 보내는 경우, 두 번 바람직하지 않은 (내받은 편지함에서 이메일을 수신) VBScript는 숨겨진 필드없이 두 번 보냅니다. 이메일을 보내려면 도움이 필요합니다.
<% Sub sendEmail(mailFrom, mailTo, mailSubject, mailMessage, mailServer, mailUsername, mailPassword)
Set MyMail = CreateObject("cdo.message")
MyMail.From = mailFrom
MyMail.To = mailTo
MyMail.Subject = mailSubject
MyMail.HTMLBody = mailMessage
MyMail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
MyMail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = mailServer
MyMail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = mailUsername
MyMail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = mailPassword
MyMail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1
MyMail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
MyMail.Configuration.Fields.Update
MyMail.Send
Set MyMail = nothing
End Sub
Dim mailFrom, mailTo, mailSubject, mailMessage, mailServer, mailUsername, mailPassword
mailFrom = "example"
mailTo = "example"
mailSubject = "Email test"
mailMessage = "<html><body>example</body><html>"
mailServer = "example"
mailUsername = "example"
mailPassword = "example"
Call sendEmail(mailFrom, mailTo, mailSubject, mailMessage, mailServer, mailUsername, mailPassword)%>
그래서 내가해야 할 일을했을 생각 이런 식으로 한 번만 보냅니다. 제출 단추 아래에 양식에 숨겨진 필드를 추가하고 코드를 편집하십시오. 유일한 문제는이 작업을 수행 할 때 양식이 올바르게 제출되고 오류가 발생하지 않는다는 것입니다. 그러나받은 편지함에는 이메일이 전송되지 않습니다. 어떤 도움 이라든지 대단히 감사 할 것입니다. 나는이 물건에 최선 아니에요, 난 여전히! : 배우고
<% if request.form("isSubmitted") = "yes" then
Sub sendEmail(mailFrom, mailTo, mailSubject, mailMessage, mailServer, mailUsername, mailPassword)
Set MyMail = CreateObject("cdo.message")
MyMail.From = mailFrom
MyMail.To = mailTo
MyMail.Subject = mailSubject
MyMail.HTMLBody = mailMessage
MyMail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
MyMail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = mailServer
MyMail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = mailUsername
MyMail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = mailPassword
MyMail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1
MyMail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
MyMail.Configuration.Fields.Update
MyMail.Send
Set MyMail = nothing
End Sub
Dim mailFrom, mailTo, mailSubject, mailMessage, mailServer, mailUsername, mailPassword
mailFrom = "example"
mailTo = "example"
mailSubject = "Email test"
mailMessage = "<html><body>example</body><html>"
mailServer = "example"
mailUsername = "example"
mailPassword = "example"
Call sendEmail(mailFrom, mailTo, mailSubject, mailMessage, mailServer, mailUsername, mailPassword)
end if %>
편집 # 1 : 이것은 내 숨겨진 필드합니다 (아무 소용이 버튼을 제출 한 후 나는 또한 숨겨진 필드를 넣어 것입니다 .)
<input type="hidden" name="isSubmitted" id="isSubmitted" value="yes" />
<input type="submit" name="btnSubmit" id="btnSubmit" value="Submit" class="submit" />
당신이 그것의 실행을 보장하기 위해 하위 내에서 ("확인") Response.Write에 있나요? –
'isSubmitted'가 제대로 설정되었는지 확인할 수 있도록 Pls가 HTML 코드를 추가합니다. 또한 hiddenField 대신 ** Request.ServerVariables ("REQUEST_METHOD") = "POST"**를 확인할 수 있습니다. ([SO] (http://stackoverflow.com/questions/2128539/asp-check-request-method) –
좋아요, 제출 한 필드와 숨겨진 필드를 추가했지만 더 필요한 경우 알려주세요. 또한 나는 그것을 너무 많이 시도 할 것이다. 도움에 감사드립니다. – Control