UWSCでメール送信
CDO(Collaboration Data Objects)を利用したメール送信のUWSC用のスクリプトです。
- mail.uws で保存します。
- SMTP Serverの設定をして下さい。
- このスクリプトを呼び出すには、UWSCスクリプトの中で、CALL mail.uws と記載しておきます。
- sendMail(送信元,送信先,件名,本文) のように、送信元E-mailアドレス, 送信先E-mailアドレス, 件名, 本文を引数として呼び出します。
PROCEDURE sendMail(mailfrom,mailto,subject,body) smtpserver = "smtp.example.com" //SMTP Serverを設定をして下さい。 smtpserverport = 25 Dim objEmail = CreateOleObj("CDO.Message") objEmail.From = mailfrom objEmail.To = mailto objEmail.Subject = subject objEmail.Textbody = body schemas = "http://schemas.microsoft.com/cdo/configuration/" objEmail.Configuration.Fields.Item(schemas + "sendusing") = 2 objEmail.Configuration.Fields.Item(schemas + "smtpserver") = smtpserver objEmail.Configuration.Fields.Item(schemas + "smtpserverport") = smtpserverport //SMTP認証を利用する場合。 //objEmail.Configuration.Fields.Item(schemas + "smtpauthenticate") = true //objEmail.Configuration.Fields.Item(schemas + "sendusername") = "username" //objEmail.Configuration.Fields.Item(schemas + "sendpassword") = "password" //暗号化された接続(SSL)を利用する場合。 //objEmail.Configuration.Fields.Item(schemas + "smtpusessl") = true objEmail.Configuration.Fields.Update COM_ERR_IGN //ネット回線が切断されている時にメールを送信するとエラーなるのを防止 objEmail.Send COM_ERR_RET FEND
ネット回線が切断されている時にメールを送信しようとするとエラーになるのでそれを回避しています。また、接続が回復しても、この場合のメールは送信されることはありません。
参考
- CDO を使用して送信メールにファイルを添付するにはどうすればよいでしょうか。
によると、http://schemas.microsoft.com/ というのは、プロパティに過ぎないそうです。 - Windows標準機能とWSHを使ってメールを送信する
- WSHからメール送信するときのメモ
使用規約
- このソフトウェアを使用したことによる一切の損害について作者は責任を負いません。
履歴
- 2010-01-26 修正
- 2009-12-23 SMTP認証・SSLに対応
- 2009-12-03 掲載
