この記事について
| 環境 | Windows、UWSC、gmail |
|---|---|
| 目的 | UWSCからgmailでメールを送信する |
| 結果 | CreateOleObjでCDO.Messageを作成してSMTP送信できた |
つまずきポイント要約
- メールが届かないときはgmailに「ログイン試行をブロックしました」メールが来ていないか確認
- googleアカウントの「安全性の低いアプリの許可」を有効にする必要がある
UWSC でメールを送信するには CDO を利用する。
Dim objEmail = CreateOleObj("CDO.Message")
//内容をセット
objEmail.From = "送信者@gmail.com"
objEmail.To = "あて先アドレス"
objEmail.Subject = "題名"
objEmail.Textbody = "内容"
Schemas = "http://schemas.microsoft.com/cdo/configuration/"
objEmail.Configuration.Fields.Item(Schemas + "sendusing") = 2
objEmail.Configuration.Fields.Item(Schemas + "smtpserver") = "smtp.googlemail.com"
objEmail.Configuration.Fields.Item(Schemas + "smtpserverport") = 465 //ポート番号
objEmail.Configuration.Fields.Item(Schemas + "smtpauthenticate") = True
objEmail.Configuration.Fields.Item(Schemas + "sendusername") = "ID(送信者@gmail.com)"
objEmail.Configuration.Fields.Item(Schemas + "sendpassword") = "メールパスワード(ログイン時と同じもの)"
objEmail.Configuration.Fields.Item(Schemas + "smtpusessl") = True
objEmail.Configuration.Fields.Update
objEmail.Send
メールが届かない場合は、gmail の受信箱をチェック。
「ログイン試行をブロックしました」というメールが届いていたら、ブロックを解除する必要がある。google のアカウント情報から「安全性の低いアプリの許可」を有効にすればいい。
