CDOメッセージを使ったのは初めてです。まずはネット上に落ちていたサンプルスクリプトから以単純なCDOメッセージスクリプトのクラシックASPファイルを作りましたところ、このファイルをブラウザで読み込むと正常にメッセージ(メール)が(1度だけ)送信されたので、
実際にWEBコンテンツのあるサイトにメッセージ内容、送信元メールアドレス及び送信先メールアドレスをDBから呼び出して変数名もこのサイトの制作者に合わせてCDOメッセージスクリプト作ったところ、なぜか、同じメッセージ(メール)が2度送信されてしまうのです。エラーは特に出ていませんので、文法の間違いではないと思うのですがどの部分で、同じメッセージ(メール)が2度送信されてしまうのか分からなくて困っています。
以下、サンプルで作ったクラシックASP用CDOメッセージスクリプトと、CDOメッセージが2回も送信されてしまうASP用CDOメッセージスクリプトを記載しておきます。
----------------------------サンプルで作ったクラシックASP用CDOメッセージスクリプトここから-------------------------
<%
Dim objCDO
Set objCDO = CreateObject("CDO.Message")
'送受信アドレスの設定
objCDO.From = "info@******.jp"
objCDO.To = "*******@*****.com"
'サブジェクトの設定
objCDO.Subject = "CDOメッセージ件名テスト"
'本文の設定
objCDO.TextBody = "CDOメッセージ送信本文テスト"
'
'送信方法の指定→CDOメッセージ
objCDO.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
'gmoのsmtpサーバーのポート番号の指定
objCDO.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 587
'gmoのsmtpサーバーの指定
objCDO.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") ="smtp.*******.jp"
'SSL通信有無の指定[True/False]
objCDO.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = True
'タイムアウト時間の指定(秒
objCDO.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 60
'SMTPユーザーネームの指定
objCDO.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusername") ="useraccount"
'SMTPパスワードの指定
objCDO.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "password"
objCDO.Configuration.Fields.Update
'送信処理
objCDO.Send
Set objCDO = Nothing
-----------------------------サンプルで作ったクラシックASP用CDOメッセージスクリプトここまで-------------------------
--------------------CDOメッセージが2回も送信されてしまうASP用CDOメッセージスクリプトここから-------------------------
'メッセージをDBから取り出して変数に格納処理------
msg = msg & "=============================================================" & Chr(13) & Chr(10) & "" _
& Chr(13) & Chr(10) & "" _
& "Subtotal :" & rec.Fields("subtotal") & "US dollar" & Chr(13) & Chr(10) & "" _
& "additional shipping cost:" & rec.Fields("carriage") & "US dollar" & Chr(13) & Chr(10) & "" _
& "Total:" & rec.Fields("total") & "US dollar" & Chr(13) & Chr(10) & "" _
& "Your request:" & memo & Chr(13) & Chr(10) & "" _
& Chr(13) & Chr(10) & "" _
& NOW() & Chr(13) & Chr(10) & "" _
& Chr(13) & Chr(10) & "" _
& Chr(13) & Chr(10) & "" _
& "About payment" & Chr(13) & Chr(10) & "" _
& pay_memo & Chr(13) & Chr(10) & "" _
& Chr(13) & Chr(10) & "" _
& Chr(13) & Chr(10) & "" _
& mail_ft & Chr(13) & Chr(10) & ""
'---------------cdoメッセージメール送信処理ここから-----------------------------------------
Set objCDOConf = Server.CreateObject ("CDO.Configuration")
' ** SET AND UPDATE FIELDS PROPERTIES **
With objCDOConf
'送信方法の指定→CDOメッセージ
.Fields("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
'smtpサーバーのポート番号の指定
.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 587
'GMOのSMTPサーバーの指定
.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserver") ="smtp.*******.jp"
'SSL通信有無の指定[True/False]
.Fields("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = True
'タイムアウト時間の指定(秒
.Fields("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 60
'SMTPユーザーネームの指定
.Fields("http://schemas.microsoft.com/cdo/configuration/sendusername") = "user_account"
'SMTPパスワードの指定
.Fields("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "password"
.Fields.Update
End With
Dim myMail
set myMail = Server.CreateObject("CDO.Message")
Set myMail.Configuration = objCDOConf
'
myMail.MailFormat = 0
myMail.From = r_mail
myMail.To = email
'
myMail.Bcc = "master@jidai.jp"
myMail.Subject = "Thank you <" & t_name & ">"
myMail.TextBody = msg
'
myMail.Value("MIME-Version") = "1.0"
'
myMail.Value("Content-Type") = "text/plain; charset=""iso-8859-1"""
'
myMail.Value("Content-Transfer-Encoding") = "7bit"
'response.write(r_mail)
myMail.Send
Set myMail = Nothing
rec.Close
rec2.Close
End Function
--------------------CDOメッセージが2回も送信されてしまうASP用CDOメッセージスクリプトここまで-------------------------