関連する記事 fake sendmail for windows を使って、PHP でごく普通に( mb_send_mail で )メール送信 : Gmail なので ssl(465) VBScript : JavaScript のライブラリを呼び出して、Base64 エンコードを行う ソースコードを読んだら、標準入力に -t は必要無くて、引数にファイルを指定して実行可能でした。 JScript で実行する以上、標準入力に直接アクセスして処理しています。 テストすると、今時の WEB メーラでは本文は普通に UTF-8 で利用可能でした。有名どころの WEB メーラですと、Subject も そのままで可能でしたが、まだ対応されていない業者もあったので、JavaScript の Base64 変換ライブラリを使用しています。
<JOB> <SCRIPT language="JScript" src="https://winofsql.jp/base64.js"></SCRIPT> <SCRIPT language="JScript"> WshShell = new ActiveXObject("WScript.Shell"); // ファイルを作成して引数で渡しても実行可能 var oExec = WshShell.Exec("\"C:\\pleiades\\xampp\\sendmail\\sendmail.exe\""); var mail_text = getResource("mail_data"); // 先頭の空白文字列を取り去る mail_text = mail_text.replace(/^[ \s]+/, ""); // http://logicalerror.seesaa.net/article/151155394.html var subject = Base64.encode("日本語の表示"); // UTF8 文字列を BASE64 に変換したものをセット mail_text = mail_text.replace(/--UTF8TEXT--/, subject); // 本文を渡す oExec.StdIn.Write( mail_text ); // 標準入力を終了 oExec.StdIn.Write(String.fromCharCode(0x1a)); // 実行が終わるまで待つ while (oExec.Status != 1) { WScript.Sleep(2000); } </SCRIPT> <RESOURCE id="mail_data"> From: a@yourdomain.jp To: 送り先メールアドレス Subject: =?utf-8?B?--UTF8TEXT--?= mail testing abcdef あいうえお </RESOURCE> </JOB>
base64.js のオリジナルサイト