2011-12-07 5 views
0

この質問を最新のコードとエラーに更新するように求められました。今はエラーは表示されませんが、フォームからの情報はまだメールに送信されていません。 ASPは、フォームと同じページにある:私のフォームは感謝のページにリダイレクトされましたが、私に送信された情報はありません

ASPコード:

<!--METADATA TYPE="typelib" UUID="CD000000-8B95-11D1-82DB-00C04FB1625D" NAME="CDO for Windows Library" --> 

<!--METADATA TYPE="typelib" UUID="00000205-0000-0010-8000-00AA006D2EA4" NAME="ADODB Type Library" --> 

<% 
sectionID=8 

frmName = request.Form("frmName") 
frmEmail = request.Form("frmEmail") 
frmPhone = request.Form("frmPhone") 
frmAddress = request.Form("frmAddress") 
frmReferral = request.Form("frmReferral") 
frmCallback = request.Form("frmCallback") 
frmEnquiry = request.Form("frmEnquiry") 

if len(frmName) = 0 then 
    errormessage = "<p><b style=""color: red"">Name field left blank.</b></p>" 
elseif len(frmEmail) = 0 then 
    errormessage = "<p><b style=""color: red"">E-mail field left blank.</b></p>" 
elseif len(frmPhone) = 0 then 
    errormessage = "<p><b style=""color: red"">Phone field left blank.</b></p>" 
end if 

if request.TotalBytes <> 0 and len(errormessage) = 0 then 

    if len(frmReferral) = 0 then frmReferral = "(left blank)" end if 
    if len(frmCallback) = 0 then frmCallback = "(left blank)" end if 
    if len(frmAddress) = 0 then frmAddress = "(left blank)" end if 
    if len(frmEnquiry) = 0 then frmEnquiry = "(left blank)" end if 

    'send email 
    '---------- 


SUB sendmail(frmName, frmEmail, frmPhone, frmAddress, frmReferral, frmCallback, frmEnquiry) 

Dim objCDO 

Dim iConf 

Dim Flds  

Const cdoSendUsingPort = 2 

    Set objCDO = Server.CreateObject("CDO.Message") 

Set iConf = Server.CreateObject("CDO.Configuration")  

Set Flds = iConf.Fields 

With Flds 

.Item(cdoSendUsingMethod) = cdoSendUsingPickup 

.Item(cdoSMTPServer) = "213.171.216.21" 

.Item(cdoSMTPServerPort) = 25 

.Item(cdoSMTPconnectiontimeout) = 10 

.Update 

End With 


Set objCDO.Configuration = iConf 

    objCDO.To = "[email protected]" 
    objCDO.Subject = "Enquiry Form" 

    bodyHTML = "Name:" & vbcrlf _ 
       & frmName & vbcrlf _ 
       & vbcrlf _ 
       & "Email:" & vbcrlf _ 
       & frmEmail & "" & vbcrlf _ 
       & vbcrlf _ 
       & "Phone:" & vbcrlf _ 
       & frmPhone & "" & vbcrlf _ 
       & vbcrlf _ 
       & "Address:" & vbcrlf _ 
       & frmAddress & "" & vbcrlf _ 
       & vbcrlf _ 
       & "How did you hear about us?:" & vbcrlf _ 
       & frmReferral & "" & vbcrlf _ 
       & vbcrlf _ 
       & "Do you require a callback?:" & vbcrlf _ 
       & frmCallback & "" & vbcrlf _ 
       & vbcrlf _ 
       & "Enquiry:" & vbcrlf _ 
       & frmEnquiry 

    'response.Write(bodyHTML) 
    'response.End 

    objCDO.TextBody = bodyHTML 


objCDO.Send 

END SUB 

    Set objCDO = Nothing 

    Set iConf = Nothing 

Set Flds = Nothing 

    response.Redirect("contact-thankyou.asp") 

end if %> 

形式:

<form action="contact.asp" method="post"> 
        <table border="0" cellpadding="2" cellspacing="0" class="text"> 
         <tr> 
          <td><p>Name : * </p></td> 
          <td><input name="frmName" id="frmName" type="text" class="textbox" value="<%=frmName%>" size="35" title="Required" /></td> 
         </tr> 
         <tr> 
          <td><p>Email : *</p></td> 
          <td><input name="frmEmail" id="frmEmail" type="text" class="textbox" value="<%=frmEmail%>" size="35" title="Required" /></td> 
         </tr> 
         <tr> 
          <td><p>Phone : *</p></td> 
          <td><input name="frmPhone" id="frmPhone" type="text" class="textbox" value="<%=frmPhone%>" size="35" title="Required" /></td> 
         </tr> 
         <tr> 
          <td><p>Address :</p></td> 
          <td><input name="frmAddress" id="frmAddress" type="text" class="textbox" value="<%=frmAddress%>" size="35" /></td> 
         </tr> 
         <tr> 
          <td><p>How did you hear about us :</p></td> 
          <td><select name="frmReferral" id="frmReferral" class="block" style="width: 180px"> 
          <option value=""> - SELECT - </option> 
          <option value="Magazine advert"<%if frmReferral = "Magazine advert" then%> selected="true"<%end if%>>Magazine advert</option> 
          <option value="Booklet advert"<%if frmReferral = "Booklet advert" then%> selected="true"<%end if%>>Booklet advert</option> 
          <option value="Web search"<%if frmReferral = "Web search" then%> selected="true"<%end if%>>Web search</option> 
          <option value="Web directory"<%if frmReferral = "Web directory" then%> selected="true"<%end if%>>Web directory</option> 
          <option value="Newspaper"<%if frmReferral = "Newspaper" then%> selected="true"<%end if%>>Newspaper</option> 
          <option value="TV"<%if frmReferral = "TV" then%> selected="true"<%end if%>>TV</option> 
          <option value="Other"<%if frmReferral = "Other" then%> selected="true"<%end if%>>Other</option> 
          </select> 
          </td> 
         </tr> 
         <tr> 
          <td><p>Do you require a call back :</p></td> 
          <td><select name="frmCallback" id="frmCallback" class="block" style="width: 180px"> 
          <option value=""> - SELECT - </option> 
          <option value="Morning"<%if frmCallback = "Morning" then%> selected="true"<%end if%>>Morning</option> 
          <option value="Afternoon"<%if frmCallback = "Afternoon" then%> selected="true"<%end if%>>Afternoon</option> 
          <option value="Not Required"<%if frmCallback = "Not Required" then%> selected="true"<%end if%>>Not Required</option> 
          </select> 
          </td> 
         </tr> 
         <tr> 
          <td align="left" valign="top"><p>Enquiry :</p></td> 
          <td><textarea name="frmEnquiry" id="frmEnquiry" cols="27" rows="4" class="textbox" style="width: 180px"><%=frmEnquiry%></textarea></td> 
         </tr> 
         <tr> 
          <td>&nbsp;</td> 
          <td align="right"><input name="submit" type="submit" value=" Send " class="submit"> 
          &nbsp;&nbsp;&nbsp; 
          <input name="reset" type="reset" class="submit"></td> 
         </tr> 
        </table> 
        <p>&nbsp;</p> 
       </form> 

はこれで任意のさらなる支援をお願い申し上げます。ありがとう

+0

その後、追加、唯一の関連および最新のコードを持っていることによってあなたの質問を掃除してください:ここでは

は、私は以下のCDOを経由して電子メールを送信する他の方法と同様にあるものだ参照ですあなたが得る完全な正確なエラー。 –

+0

@ ShadowWizard私は質問をきれいにしました、私は電子メールがちょうど通過しないというエラーメッセージを受け取っているようではありません。 – Sam

答えて

1

sendmail手順への呼び出しはありません。 プロシージャを呼び出します。例えば、
'send emailのコメント行の後の

'send email 
'---------- 
Call sendmail(frmName, frmEmail, frmPhone, frmAddress, frmReferral, frmCallback, frmEnquiry) 

更新:
これらのプロパティのすべてが完全に架空:)あり、次の行を削除します。これらの変数はすでに変数bodyHTMLに入っています。

objCDO.Name = frmName 
objCDO.Phone = frmPhone 
objCDO.Address = frmAddress 
objCDO.Referral = frmReferral 
objCDO.Callback = frmCallback 
objCDO.Enquiry = frmEnquiry 
+0

私は電子メールを送るコメント行の後にこの行を追加しましたが、これは情報を送信せずに同じ応答を返します。 – Sam

+0

コメント行の後とサブsendmailの前にこれを追加しました。それをホストにアップロードすると、500サーバーエラーとして表示されます。 IISサーバー上では、VBスクリプトエラーとして表示されます。 – Sam

+0

詳細が必要です:)最初に、エラーの詳細を含む新しいセクションで質問を更新します。また、詳細なaspエラーを表示するようにサイトを構成します(このプロセスはIISのバージョンによって異なります)。 –

0

あなたは構成セクションに必要以上を持っているように見えます。あなたは構成項目なしでそれを試すことができますか、それらを必要としますか?私は単純な送信スクリプトを試してからそこから展開します。 VBScript Email References

Const cdoSendUsingPickup = 1 'Send message using the local SMTP service pickup directory. 
Const cdoSendUsingPort = 2 'Send the message using the network (SMTP over the network). 

Const cdoAnonymous = 0 'Do not authenticate 
Const cdoBasic = 1 'basic (clear-text) authentication 
Const cdoNTLM = 2 'NTLM 

Set objMessage = CreateObject("CDO.Message") 
objMessage.Subject = "Example CDO Message" 
objMessage.From = "[email protected]" 
objMessage.To = "[email protected]" 
objMessage.TextBody = "This is some sample message text.." & vbCRLF & "It was sent using SMTP authentication." 

'==This section provides the configuration information for the remote SMTP server. 

objMessage.Configuration.Fields.Item _ 
("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2 

'Name or IP of Remote SMTP Server 
objMessage.Configuration.Fields.Item _ 
("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "mail.your.com" 

'Type of authentication, NONE, Basic (Base64 encoded), NTLM 
objMessage.Configuration.Fields.Item _ 
("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = cdoBasic 

'Your UserID on the SMTP server 
objMessage.Configuration.Fields.Item _ 
("http://schemas.microsoft.com/cdo/configuration/sendusername") = "youruserid" 

'Your password on the SMTP server 
objMessage.Configuration.Fields.Item _ 
("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "yourpassword" 

'Server port (typically 25) 
objMessage.Configuration.Fields.Item _ 
("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25 

'Use SSL for the connection (False or True) 
objMessage.Configuration.Fields.Item _ 
("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = False 

'Connection Timeout in seconds (the maximum time CDO will try to establish a connection to the SMTP server) 
objMessage.Configuration.Fields.Item _ 
("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 60 

objMessage.Configuration.Fields.Update 

'==End remote SMTP server configuration section== 

objMessage.Send 
関連する問題