スクリプトでメールを送る@VBS

VBSでメールを送るスクリプトを作ってみました。
メモ帳にコピペで貼り付けてファイル名を

hogehoge.vbs

に変更し、実行すればOKです。

最近

Sub

Function

を覚えましたよ・・・。

'///////////////////////////////////////////////////
'SMTPサーバアドレス
Smtp = "smtp.hogehoge.com"
'受信先メールアドレス
MailTo = "hogehoge@hogehoge.com"
'送信元メールアドレス
MailFrom = "pnpk@hogehoge.com"
'メール表題
Subject = "例の件"
'メール本文
TextBody = "例の件です。"
'添付ファイルパス
AddFiles = ""
'///////////////////////////////////////////////////

この部分を自分の環境に書き換えて使ってください。SMTPサーバが自前で用意できない場合やSMTPポートに制限の掛かっているプロバイダを使っている場合には利用できません。

OPTION EXPLICIT

Dim Smtp
Dim MailTo
Dim MailFrom
Dim Subject
Dim TextBody
Dim AddFiles

'///////////////////////////////////////////////////
'SMTPサーバアドレス
Smtp	  = "smtp.hogehoge.com"
'受信先メールアドレス
MailTo    = "hogehoge@hogehoge.com"
'送信元メールアドレス
MailFrom  = "pnpk@hogehoge.com"
'メール表題
Subject   = "例の件"
'メール本文
TextBody  = "例の件です。"
'添付ファイルパス
AddFiles  = ""
'///////////////////////////////////////////////////

Call SendMail(SMTP,MailTo,MailFrom,Subject,TextBody,AddFiles)

Sub SendMail(strSMTP,strMailTo,strMailFrom,strSubject,strTextBody,strAddFiles)
	Dim objMsg
	Dim objFS

	Set objMsg = CreateObject("CDO.Message")
	Set objFS = CreateObject("Scripting.FileSystemObject")

	objMsg.From     = strMailFrom
	objMsg.To       = strMailTo
	objMsg.Subject  = strSubject 
	objMsg.TextBody = strTextBody
	
	If objFS.FileExists(strAddFiles) Then
		objMsg.AddAttachment(strAddFiles)
	End If
	
	'1 = ローカルSMTPサービスのピックアップ・ディレクトリにメールを配置する(デフォルトの動作) 
	'2 = SMTPポートに接続して送信する 
	'3 = OLE DBを利用してローカルのExchangeに接続する
	objMsg.Configuration.Fields.Item _
 ("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
	objMsg.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/smtpserver") = strSMTP
	objMsg.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
	objMsg.Configuration.Fields.Update
	objMsg.Send
	
	Set objMsg = Nothing
End Sub

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です