4
    <%
Dim sent
Dim YourName
Dim YourEmail
Dim YourMessage
Set myMail2=CreateObject("CDO.Message")
YourName = Trim(Request.Form("Name")) 
YourEmail = Trim(Request.Form("Email")) 
YourMessage = Trim(Request.Form("Message")) 

Dim Body
Dim body2
Body = Body & "Their Name: " & VbCrLf & YourName & VbCrLf & VbCrLf
Body = Body & "Their Email: " & VbCrLf & YourEmail & VbCrLf & VbCrLf
Body = Body & "Their Message: " & VbCrLf & YourMessage & VbCrLf & VbCrLf

Set myMail=CreateObject("CDO.Message")
myMail.Subject="A New Enquiry!"
myMail.From="admin@musicalmatters.co.uk"
myMail.To="james@devine.eu"
myMail.TextBody=Body
myMail.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/sendusing")=2
'Name or IP of remote SMTP server
myMail.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/smtpserver")="smtp.1and1.com"
'Server port
myMail.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/smtpserverport")=25
myMail.Configuration.Fields.Update
myMail.Send
set myMail=nothing



body2="Thank you for contacting us!" & VbCrLf & "This is just a brief message to let you know your form was submitted successfully!"& VbCrLf & VbCrLf & "You may reply to this address, but you may not necessarily receive a reply, "& "you should receive a reply in 1-2 business day(s)!"& VbCrLf & "Thank you very much,"& VbCrLf & VbCrLf & "Musical Matters."& VbCrLf & "admin@musicalmatters.co.uk"

Set myMail2=CreateObject("CDO.Message")
myMail2.Subject="Thanks for Contacting Us!"
myMail2.From="admin@musicalmatters.co.uk"
myMail2.To=YourEmail
myMail2.TextBody=body2 

myMail2.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/sendusing")=2
'Name or IP of remote SMTP server
myMail2.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/smtpserver")="smtp.1and1.com"
'Server port
myMail2.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/smtpserverport")=25
myMail2.Configuration.Fields.Update
myMail2.Send

If myMail2.Send="" Then 
Response.Redirect("http://www.musicalmatters.co.uk/success.htm")
set myMail2=nothing

Else
Response.Redirect("http://www.musicalmatters.co.uk/error.htm")
set myMail2=nothing
End If

私のaspスクリプトの問題は、電子メールが送信されたかどうかを確認し、結果に応じてエラーまたは成功ページにリダイレクトする必要があることです.

    If myMail2.Send="" Then 
Response.Redirect("http://www.musicalmatters.co.uk/success.htm")
set myMail2=nothing

Else
Response.Redirect("http://www.musicalmatters.co.uk/error.htm")
set myMail2=nothing
End If

上記の mymail2.Send="" のコードで何かをテストしていたので、値を true または false に変更する必要があることはわかっています。回答を急いでください!

前もって感謝します!

4

2 に答える 2

2

電子メール アドレスに有効な構文があり、SMTP サーバーが稼働しSendている場合、電子メール アドレスが存在しなくても、メソッドがエラーをスローすることはありません。

電子メールが宛先に到達したかどうかを 100% 知る方法はありません。1 つ考えられるのは、送信から数秒後に SMTP ルートのフォルダーBadMailとフォルダーを (FSO を使用して) チェックすることです。Queue違う。

ただし、外部のメール サービスを使用しているため、配信に失敗したときに何らかの方法で通知を受け取る方法を外部のメール サービスに問い合わせる必要があります。

于 2011-10-10T09:23:49.487 に答える
2

On Errorステートメント を使用する必要があるようです。

On Error Resume Next
myMail2.Send
If Err.Number = 0 Then
    set myMail2 = Nothing
    Response.Redirect("http://www.musicalmatters.co.uk/success.htm")
Else
    set myMail2 = Nothing
    Response.Redirect("http://www.musicalmatters.co.uk/error.htm")
End If
于 2011-10-09T18:44:29.840 に答える