VB Script の CDO.Message でメールを送信すると「"SendUsing"の構成値は無効です。」エラーによりメールが送信できない現象の紹介です。
下記のVBScriptを実行してメールを送信すると、以下のメッセージが表示されメールが送信できないことがあります。
Set oMsg = CreateObject("CDO.Message")
oMsg.From = "USOMaster@ipentec.com"
oMsg.To = "xxx@ipentec.com"
oMsg.Subject = "Test "
oMsg.TextBody = "テストメッセージです" & vbCrLf & Now
oMsg.Send
上記の減少が発生する原因は、サーバーの設定内容によって利用するSMTPサーバーが自分自身を指していないことが挙げられます。
対策は下記のコードのように明示的にSMTPサーバーを指定すれば送信できるようになります。
Set oMsg = CreateObject("CDO.Message")
oMsg.From = "USOMaster@ipentec.com"
oMsg.To = "xxx@ipentec.com"
oMsg.Subject = "Test "
oMsg.TextBody = "テストメッセージです" & vbCrLf & Now
oMsg.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
oMsg.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "127.0.0.1"
oMsg.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
oMsg.Configuration.Fields.Update
oMsg.Send