【JavaScript】GmailアカウントでSMTP送信するスクリプト

当記事では、JavaScriptを使って、GmailのアカウントからSMTP送信するスクリプトを公開しています。下記ソースコードをテキストファイルにコピーペーストし、アカウント情報やメール内容を書き換えて実行すると、メール送信できます。WindowsXP、InternetExplorer8およびWindows7、InternetExplorer9の環境で動作確認しています。

このサンプルでは、指定した宛先に1件のメールを送るようになっていますが、配列を使用すれば複数の宛先に送信することもできます。

2012年3月時点では動作しますが、今後、GmailのSMTPサーバー変更などで動作しなくなるかもしれません。また、実行する環境によって動作が異なることもありますので、各位の実行環境でアレンジしてみてください。

なお、スクリプト中にパスワードを埋め込むことは、セキュリティ上よくありません。そのスクリプトを見れば、パスワードがわかってしまうからです。所属している組織のセキュリティポリシーにより、禁止されていることもあります。運用は自己責任でお願いします。


// SMTPでメール送信
// Gmailのアカウントを設定 (****を書き換えてください)
var gmail_user = "****@gmail.com"; // Gmailのメールアドレス
var gmail_pass = "****"; // Gmailのパスワード

// 送信内容の設定 (****を書き換えてください)
var msg = WScript.CreateObject("CDO.Message");
msg.From = gmail_user; // 自分のメールアドレス
msg.To = "****@***.**.**"; // 送り先のメールアドレス
msg.Subject = "件名";         // メールの件名
msg.TextBody = "本文";

// 初期設定
msg.TextBodyPart.Charset = 'ISO-2022-JP';
var setConfig = function (conf_obj) {
  var uri = 'http://schemas.microsoft.com/cdo/configuration/';
  for (var key in conf_obj) {
    msg.Configuration.Fields.Item(uri + key) = conf_obj[key];
  }
}

// SMTP設定
setConfig({
  'sendusing':2, 'smtpconnectiontimeout':30,
  'smtpserver': 'smtp.gmail.com', 'smtpserverport': 465,
  'smtpauthenticate': true, 'smtpusessl': true,
  'sendusername': gmail_user, 'sendpassword': gmail_pass
});
msg.Configuration.Fields.Update();

// メール送信
msg.Send();

msg=null;
WScript.Echo("送信しました。");

コメントを残す

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

CAPTCHA