• BPnet
  • ビジネス
  • IT
  • テクノロジー
  • 医療
  • 建設・不動産
  • TRENDY
  • WOMAN
  • ショッピング
  • 転職
  • ナショジオ
  • 日経電子版
クジラ飛行机「仕事に役立つJavaScript入門」

定型メールの送信を自動化する~GmailとJavaScriptの華麗な連携技(第13回)

クジラ飛行机=スーパークリエーター 2011/03/07 PC Online

 定型的なメールを送る機会というのは意外と多いものです。例えば、何かしらの作業が完了したことを他のメンバーに知らせるメール、出先から帰社することを営業所に報告するメール、お客さんに商品の出荷を通知するメールなど、私たちは実に様々な場面で定型メールを送信しています。さすがに、こうした定型メールの本文を毎回考えて入力するのは大変ですので、定型文をどこかにストックしておいて利用する方が多いのではないでしょうか。

 しかし、定型文をコピーして送信するのもなかなか面倒なものです。そこで、今回は、ダブルクリック一発で定型文をメール送信するプログラムを紹介します。あらかじめ、送信先や本文を記入したプログラムを作っておけば、慌てて送って、定型文をコピーミスしたり、宛先を間違えたりするといった失敗も防ぐことができるでしょう。

JavaScript(WSH)からGmail経由でメールを送信するプログラム

 ここで紹介するのは、Gmail経由でメールを送信するプログラムです。ですから、Gmailのアカウントを持っていれば、誰でも利用することができます。36行と比較的短いですので、ここで全プログラムを紹介します。

 以下のプログラムをテキストエディターに貼り付け「sendmail.jse」という名前で保存してください。そして、プログラム冒頭にあるGmailアカウントとパスワード、送り先メールアドレスの情報を書き換えたら準備完了です(詳しくはこの次の項にある設定のカスタマイズを参照してください)。「sendmail.jse」をダブルクリックするとメールが送信できます。

//-------------------------------------------------------------------
// JScript(WSH)でメール送信
//-------------------------------------------------------------------
// Gmailのアカウントを設定 (★以下を書き換えてください★)
var gmail_user = "***@gmail.com"; // Gmailのメールアドレス
var gmail_pass = "*************"; // Gmailのパスワード
//-------------------------------------------------------------------
// 送信内容の設定(★以下を書き換えてください★)
var msg = WScript.CreateObject("CDO.Message");
msg.From = gmail_user;        // 自分のメールアドレス
msg.To   = "***@example.com"; // 送り先のメールアドレス
msg.Subject = "test";         // メールの件名
msg.TextBody = "送信テストです。\nメールの送信テストです。\n";
setGmailConfig(msg, gmail_user, gmail_pass);
// 送信
msg.Send();
WScript.Echo("送信しました!!");
//-------------------------------------------------------------------
// Gmailで送信のための細かい設定を行う
function setGmailConfig(msg, user, pass) {
  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];
    }
  }
  setConfig({
    'sendusing':2, 'smtpconnectiontimeout':30,
    'smtpserver': 'smtp.gmail.com', 'smtpserverport': 465,
    'smtpauthenticate': true, 'smtpusessl': true,
    'sendusername': user, 'sendpassword': pass
  });
  msg.Configuration.Fields.Update();
}
//-------------------------------------------------------------------

 うまく実行できない方は、こちらから、ZIPファイルをダウンロードして、その中にある「sendmail.jse」をメモ帳などで開いて書き換えて試してみてください。

 ※今回のプログラムは、WSHのJScriptを利用しています。Windowsのみで動作します。

次ページ以降はITpro会員(無料)の方のみお読みいただけます。

次ページ 設定のカスタマイズ
  • 1
  • 2
  • 3

あなたにお薦め

連載新着

連載目次を見る

今のおすすめ記事

  • 【ニュース解説】

    デンソーは、なぜNECを選んだのか

     「浮気をするつもりはない。クルマ走行中の潜在的な危険を察知する技術を、NECが持つ人工知能(AI)を使って実用化できるよう、両社で力を合わせていきたい」。デンソーは2016年12月、NECと高度運転支援や自動運転、モノづくりなどの分野で協業すると発表した。

ITpro SPECIALPR

What’s New!

経営

アプリケーション/DB/ミドルウエア

クラウド

運用管理

設計/開発

サーバー/ストレージ

クライアント/OA機器

ネットワーク/通信サービス

セキュリティ

もっと見る