プロが教える店舗&オフィスのセキュリティ対策術

javascriptによるメール送信フォームを作成しております。
以下のように作ったのですが、ローカルでは動作しますが、サーバーにアップすると、動作しなくなってしまいます。
ブラウザが原因かと思い、IE、chrom、safariなどのjavascriptON確認しましたが、ONでした。
お詳しい方がおられましたら、教えてくださいませんでしょうか。
PC環境は、
WinVistaです。
よろしくお願い致します。


<script type="text/javascript">
<!--
var oMsg = new ActiveXObject("CDO.Message");
var schemas = 'http://schemas.microsoft.com/cdo/configuration/';
oMsg.Configuration.Fields.Item(schemas+"sendusing") = 2;
oMsg.Configuration.Fields.Item(schemas+"smtpserver") = "smtp.gmail.com";
oMsg.Configuration.Fields.Item(schemas+"smtpserverport") = 465;

oMsg.Configuration.Fields.Item(schemas + 'smtpauthenticate') = true;
oMsg.Configuration.Fields.Item(schemas + 'sendusername') = '***';
oMsg.Configuration.Fields.Item(schemas + 'sendpassword') = '***';
oMsg.Configuration.Fields.Item(schemas + 'smtpusessl') = true;

oMsg.Configuration.Fields.Update();
oMsg.From = "***";

function sendMail(){
oMsg.To = mail_to.value;
oMsg.Subject = mail_subject.value;
oMsg.TextBody = mail_textbody.value;

if (oMsg.Subject == "") {
alert("件名・本文の入力は必須です。");
}
//document.write("JavaScriptはONです!");
try {
oMsg.Send();
} catch(e) {
alert(e.message);
}
}
// -->
</script>

A 回答 (2件)

まず、ActiveXObject はWindows固有の機能で、IEからでしかつかえません。


そのうえで、インターネットオプションでセキュリティをかなり下げないと使えないので、会社・学校など組織の中で環境をそろえて使うとかでないとだめです。

テストするとしたら、サーバーをインターネットオプションのセキュリティで信頼済みサイトに登録して、そのゾーンの「スクリプトを実行しても安全だとマークされていないActiveXコントロールの初期化とスクリプトの実行」 を無効以外にしてください。これは、サーバーの言いなりにクライアントPC上の任意のプログラム(ディスク初期化とか)を実行させても良いという設定ですので、テストくらいにしておいた方が良いかと。

事実上、ローカルファイルからでしか使えないものと思ってください。

この回答への補足

ご回答有難うございます。

とても重要なことをしりました。

ActiveXObject以外の方法は有るのでしょうか。

情報の場所をご存じでいらっしゃいましたら教えてください。

補足日時:2011/06/11 18:06
    • good
    • 0

>ActiveXObject以外の方法は有るのでしょうか。



クライアント側でできるのは、mailto: のURIを使ってメールソフトを起動するくらいです。
それ以外だと、FORMでPOSTしてサーバー側で受け取ってサーバー側からメールする。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
サーバー側からメールするのすね。
php使えばよさそうですね。
とてもヒントになりました。
ありがとうございます。

お礼日時:2011/06/11 19:04

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!