1

私はここに新しく、これを正しく投稿しているかどうかわかりません。サイト用のカスタム フォームを作成しましたが、送信しても、指定したメール アドレスにメールが送信されません。私はそれを機能させるために、複数のことを検索して試しました。

私のフォームは次のとおりです。

<form name="myForm" action="subform.asp" onSubmit="return validateForm();" method="post">
First Name:<input type="text" size="30" name="fname" maxlength="5"><br>
Last name:<input type="text" size="30" name="lname" maxlength="30"><br>
Email:<input type="text" size="30" name="email" maxlength="30"><br>
Comments:<textarea rows="2" cols="22" name="comments"></textarea>
<input type="submit" value="Submit">
</form>

私のsubform.asp:

<% 
Option Explicit
Dim referer
Dim siteurl
Dim email_from
Dim email_to
Dim strMsg
Dim vsmtpKey

referer = Request.ServerVariables("HTTP_REFERER")
siteurl = "www.mysite.com"
email_from = "email@mysite.com"
email_to = "email@mysite.com"
vsmtpKey = "my key"


strMsg = "First Name : " & request.form("fname") & "<br>" 
strMsg = "Last Name : " & request.form("lname") & "<br>" 
strMsg = "Email : " & request.form("email") & "<br>" 
strMsg = "Comments : " & request.form("comments") & "<br>" 

if InStr(referer, siteurl ) > 0 Then

    Dim HTTPRequest
    Set HTTPRequest = CreateObject("WinHTTP.WinHTTPRequest.5.1")
    HTTPRequest.Open "POST", "http://" & Request.ServerVariables("LOCAL_ADDR") & "subform.asp", False
    HTTPRequest.SetRequestHeader "Content-Type", "application/x-www-form-urlencoded"
    HTTPRequest.SetRequestHeader "Host", Request.ServerVariables("SERVER_NAME")
    HTTPRequest.Send _
        "VsmtpKey=" & vsmtpKey &_
        "&Subject=" & Server.URLEncode("Mailing List Submission") &_
        "&FromEmailAddress=" & email_from &_
        "&ToEmailAddress=" & email_to &_
        "&Body_HTML=" &  Server.URLEncode(strMsg)

    response.write(HTTPRequest.ResponseText)
    Set HTTPRequest = Nothing
End If

%>
4

3 に答える 3

0

私もこれに苦労しました。私はあなたと同様のことをしようとしましたが、最終的にこれで動作するようになりました...(ファイル VSMTP_CLASS.asp をダウンロードし、それをフォルダー /vspfiles に FTP で転送する必要がありました。これは、以下のコードでファイルが存在する場所です。 ):

emailer.asp test
<!--#include file="VSMTP_CLASS.asp"-->
<% 
Dim mailer 
Set mailer = new vsmtp 
mailer.VsmtpKey = "XXXXXXXXXXXXXX"
mailer.EmailSubject = "Test Subject" 
mailer.EmailFrom = "XXXX@ZZZZZZ.com" 
mailer.EmailTo = "me@mydomainXXXX.com" 
mailer.TextBody = "Hello World!" 
mailer.HTMLBody = "Hello World" 
mailer.Send() 


%>

VSTMP ファイルはこちらからダウンロードできます... https://store.volusion.com/v/vspfiles/manual/kb/VSMTP_CLASS.zip

于 2016-05-20T15:28:41.447 に答える
0
HTTPRequest.Open "POST", "http://" & Request.ServerVariables("LOCAL_ADDR") & "subform.asp", False

「subform.asp」を「/vsmtp.asp」に変更してみてください。False

于 2016-02-22T07:29:10.897 に答える