メールの送信方法には2種類あります。
- cdo.Messageオブジェクトを使用する方法
- CDONTS.Newmailオブジェクトを使用する方法
この機能を使うと簡単にスパムを送りまくれるから怖いですね。良い子はマネしたらいけませんよ~。
cdo.Messageオブジェクトを使用する方法
<%
Set objcdo = Server.CreateObject("cdo.Message")
with objcdo
Set objcdo = Nothing
%>with objcdo
.From ="CDOで送信さん<hoge@hoge.jp>"
.To = "テスト受信さん<hoge-recv@hoge.jp>"
.Subject = "送信テスト"
.Textbody = "本文ですよ" & vbCrLf & Now
'↓外部SMTPを使用する設定
'.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
'.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "mail.hoge.jp"
'.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
'.Configuration.Fields.Update
'送信
.send
end with.To = "テスト受信さん<hoge-recv@hoge.jp>"
.Subject = "送信テスト"
.Textbody = "本文ですよ" & vbCrLf & Now
'↓外部SMTPを使用する設定
'.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
'.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "mail.hoge.jp"
'.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
'.Configuration.Fields.Update
'送信
.send
Set objcdo = Nothing
通常であればIISに含まれるSMTP機能を利用してコメントアウトしてある部分は無しで使用できるはずですが、
状況によって送信できない場合があります。
その場合は、外部SMTPを利用する為の設定としてコメントを外してSMTPサーバーの設定を行って下さい。
注意点として、Fromのアドレスは指定するSMTPサーバーと同じドメインにしてください。
普通はサーバーでリレー出来ないように設定されています。
<%
Set objcdo = Server.CreateObject("CDONTS.Newmail")
with objCDO
Set objcdo = Nothing
%>with objCDO
.From ="CDONTSで送信さん<hoge@hoge.jp>"
.To = "テスト受信さん<hoge-recv@hoge.jp>"
.Subject = "送信テスト"
.body = "本文でございます" & vbCrLf & Now
.send
end with.To = "テスト受信さん<hoge-recv@hoge.jp>"
.Subject = "送信テスト"
.body = "本文でございます" & vbCrLf & Now
.send
Set objcdo = Nothing
特に解説をするほどの事も無く送信できると思います。
試した範囲内では特に不具合はおきて無いです。
補足
気になる方は調べてみてください。
cdo.Messageについて詳細を調べる
CDONTS.Newmailについて詳細を調べる
コメント