0

我正在使用 Gmail 外部邮件服务器从我的网站发送产品查询表格。表单本身发送良好,但是发送的电子邮件不包含我的表单中包含的产品信息。

我的简化形式如下所示:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>Free Products</title>
</head>
<body>
<form id="data" name="data" method="post" action="email.asp">
  <div class="myform">
  <input type="hidden" name="PCode" value="Free_Products" />
  <input type="hidden" name="CCode" value="CampaignCode" />
  <input type="hidden" name="MCode" value="CampaignName" />
  <input type="hidden" name="Action" value="Add" />
  <input type="hidden" name="Qty" value="1" />
  <input type="hidden" name="BackURL" value="www.myurl.com" />
  <ul id="cat_box">
  <label for="ProductCode1">Add quantity:</label>
  <input id="ProductCode1" type="text" name="ProductCode1" size="8" maxlength="4" class="qtytext" title="test title">
  <select id="ProductCode2" name="ProductCode2" >
    <option value="0">0</option>
    <option value="1">1</option>
    <option value="2">2</option>
  </select>
  </form>
<div id="dialog" title="Thank you for your order">
  <p>Thank you for your order.</p>
  This order will be dispatched within 14 days.
  </p>
</div>
</body>
</html>

我的 asp 电子邮件脚本如下所示:

<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>My Form</title>
</head>

<body>
<%

' declare variables
Dim ProductCode1
Dim ProductCode2

' get posted data into variables
ProductCode1 = Trim(Request.Form("ProductCode1"))
ProductCode2 = Trim(Request.Form("ProductCode2"))

' validation
Dim validationOK
validationOK=true
If (Trim(ProductCode1)="") Then validationOK=false
If (Trim(ProductCode2)="") Then validationOK=false
If (validationOK=false) Then Response.Redirect("error.html?" & EmailFrom)

' prepare email body text
Dim Body
Body = Body & "ProductCode1: " & ProductCode1 & VbCrLf
Body = Body & "ProductCode2: " & ProductCode2 & VbCrLf

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 = """Me"" <myAddress@gmail.com>" 
objMessage.To = "myAddress@gmail.com" 
objMessage.TextBody = "This is some sample message text.." & vbCRLF & "It was sent using SMTP authentication and SSL."

'==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") = "smtp.gmail.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") = "myAddress@gmail.com"

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

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

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

'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
%>
</body>
</html>

有什么我想念的想法吗?为什么我的表单不与我的 asp 脚本对话?

谢谢

4

1 回答 1

1

在它说的部分:

objMessage.TextBody = "This is some sample message text.." & vbCRLF & "It was sent using SMTP authentication and SSL."

您想将其更改为

objMessage.TextBody = Body
于 2012-08-07T07:40:14.493 回答