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

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

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

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

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


// SMTPでメール送信
// アカウントを設定 (*****を書き換えてください)
var user = "*****"; // Yahooメールのメールアドレス
var pass = "*****"; // Yahooメールのパスワード

// 送信内容の設定(*****を書き換えてください)
var msg = WScript.CreateObject("CDO.Message");
msg.From =  "*****@yahoo.co.jp"; // 自分のメールアドレス
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];
  }
}
setConfig({
  'sendusing':2, 'smtpconnectiontimeout':30,
  'smtpserver': 'smtp.mail.yahoo.co.jp', 'smtpserverport': 587,
  'smtpauthenticate': true, 'smtpusessl': false,
  'sendusername': user, 'sendpassword': pass
});
msg.Configuration.Fields.Update();

msg.Send();

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

コメントを残す

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

CAPTCHA