Gmail の SMTP サーバと CDO コンポーネントを使ってメール送信

↓のサイトを参考にして、VBScript で書いてみました。

WSHからメール送信するときのメモ(管理人日記) - むぅもぉ.jp
(リンク切れのようです)

Gmail だと SMTP 認証があったりして、CDO じゃムリかなと思ってましたが、できるみたいです。CDO なかなか使えますね~
ただ、POP before SMTP は BASP21 とかを使わないとダメみたいですね。

toAddress = "送信アドレス1,送信アドレス2"
fromAddress = "Gmail ユーザ名" & "@gmail.com"
passwd = "Gmail パスワード"
Attachment1 = "file://C:\添付ファイル1.xls"
Attachment2 = "file://C:\添付ファイル2.jpg"
schemas = "http://schemas.microsoft.com/cdo/configuration/"
Set oMsg = CreateObject("CDO.Message")
oMsg.Fields.Item("urn:schemas:mailheader:X-Mailer") = "system mail"
oMsg.Fields.Update()
oMsg.From = fromAddress
oMsg.To = toAddress
oMsg.Subject = "システムからのお知らせ"
oMsg.TextBody = "お世話になっております。" & vbCrLf & "現在時刻は " & Now & " です。"
oMsg.TextBodyPart.Charset = "ISO-2022-JP"
oMsg.Configuration.Fields.Item (schemas & "sendusing") = 2
oMsg.Configuration.Fields.Item (schemas & "smtpserver") = "smtp.gmail.com"
oMsg.Configuration.Fields.Item (schemas & "smtpserverport") = 465
oMsg.Configuration.Fields.Item (schemas & "smtpauthenticate") = true
oMsg.Configuration.Fields.Item (schemas & "sendusername") = fromAddress
oMsg.Configuration.Fields.Item (schemas & "sendpassword") = passwd
oMsg.Configuration.Fields.Item (schemas & "smtpusessl") = true
oMsg.AddAttachment(Attachment1)
oMsg.AddAttachment(Attachment2)
oMsg.Configuration.Fields.Update
oMsg.Send
Set oMsg = Nothing