ASPでメール送信

メールの送信方法には2種類あります。

  • cdo.Messageオブジェクトを使用する方法
  • CDONTS.Newmailオブジェクトを使用する方法
どちらが良いか?は分かりませんがどちらもお手軽に送信できます。
この機能を使うと簡単にスパムを送りまくれるから怖いですね。良い子はマネしたらいけませんよ~。

cdo.Messageオブジェクトを使用する方法
<%
Set objcdo = Server.CreateObject("cdo.Message")
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
Set objcdo = Nothing
%>

通常であればIISに含まれるSMTP機能を利用してコメントアウトしてある部分は無しで使用できるはずですが、 状況によって送信できない場合があります。
その場合は、外部SMTPを利用する為の設定としてコメントを外してSMTPサーバーの設定を行って下さい。 注意点として、Fromのアドレスは指定するSMTPサーバーと同じドメインにしてください。 普通はサーバーでリレー出来ないように設定されています。

CDONTS.Newmailオブジェクトを使用する方法
<%
Set objcdo = Server.CreateObject("CDONTS.Newmail")
with objCDO
.From ="CDONTSで送信さん<hoge@hoge.jp>"
.To = "テスト受信さん<hoge-recv@hoge.jp>"
.Subject = "送信テスト"
.body = "本文でございます" & vbCrLf & Now

.send
end with
Set objcdo = Nothing
%>

特に解説をするほどの事も無く送信できると思います。
試した範囲内では特に不具合はおきて無いです。

補足
気になる方は調べてみてください。
cdo.Messageについて詳細を調べる
CDONTS.Newmailについて詳細を調べる