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

ネット回線が切断されている時にメールを送信しようとするとエラーになるのでそれを回避しています。また、接続が回復しても、この場合のメールは送信されることはありません。

参考


使用規約

  • このスクリプトを使用したことによる一切の損害について作者は責任を負いません。

履歴

  • 2010-01-26 修正
  • 2009-12-23 SMTP認証・SSLに対応
  • 2009-12-03 掲載