2011-08-05 10 views
0

私は考えていることを実行できるかどうか疑問に思っています。可能であれば、誰かが私が必要とするフラッシュオブジェクトを知っていますか?ブラウザからjavascriptとflashでメールを送信することは可能ですか?

私は、Flashオブジェクトがそれを操作するためのjavascript APIを提供できることを知っています。私が知っているものは何ですか?フラッシュは、Webサーバーと直接通信する必要はありません。それが可能ならば、何もしなかったフラッシュオブジェクトを書くことはできませんが、電子メールを送信するためのAPIを提供していますか?そのようなことが他の人が使うためにそこに作られていますか?

私はウェブページに電子メールフォームを作成しようとしていますが、サイトは静的です(サーバースクリプトはありません)。私の状況ではサーバがないのでサーバスクリプトは不可能です。サイトはCD/DVD/USBスティックの100%クライアント側です。

+0

[PostageApp](http://postageapp.com)のjQueryプラグインでこれを行っていますが、プラグインのAPIキーが公開されているため安全ではありません。それが私が考えることができる唯一の方法ですが、非本番のマシンでしかありません。 – JonLim

答えて

1

はい、これはフラッシュを使用しても可能ですが、自分では行っていませんが、私はアドバイスしません。一般的な戦略は、ソケットを使用して特定のメールサーバーに接続することです。

  1. サーバには、ポート843で使用可能な「ソケットポリシーファイル」が必要です。詳細については、http://www.adobe.com/devnet/flashplayer/articles/socket_policy_files.htmlを参照してください。これは、メール中継のために選択されたポートに接続するための許可を与える(例えば、25)。
  2. その後、フラッシュソケットライブラリを使用して、実質的にテルネットクライアントを作成することができます。 http://help.adobe.com/en_US/ActionScript/3.0_ProgrammingAS3/WS5b3ccc516d4fbf351e63e3d118a9b90204-7cf7.html
  3. ソケットのペイロードとして電子メールを作成して送信します。うあなたは、全世界にこれらのCDを配布している場合、メールサーバーソケットポリシーは、任意のマシン上の誰からの接続を受け入れるなければならないだろう、もちろんhttp://www.yuki-onna.co.uk/email/smtp.html

を参照してください、あなたがオープンメールリレーを実行していることだろう、混沌犬と猫が一緒に住んでいる...

これで、これを可能にするパブリックSMTPサーバーが見つからず、実際にサーバー側に何もアクセスできない場合は(Webサーバーなし、SMTPサーバーを制御できない場合)、代わりにクライアント側のmailto:リンクを使用する必要があります。

3

いいえ、FlashもJSもクライアント側の技術であるため、これを単独で実行することはできません。電子メールを送信してからクライアントに要求するために、サーバーサイドスクリプトを作成する必要があります。

swfファイルがUSBスティックにあるかどうかは関係ありませんが、どこにでもサーバに接続できます。ほとんどのWebホストはphpをサポートしているので、おそらく最も簡単な方法です。 this Google searchをチェックしてください。

EDIT:サーバーを使用できない場合は、mailtoリンクを使用できます。これにより、ユーザーのデフォルトの電子メールクライアントが開きます。

​​

また、件名と本文を追加することもできます。構文については、http://www.ianr.unl.edu/internet/mailto.htmlを参照してください。

+0

私はサーバーを持っていませんが、これはCDのローカルファイルで、閲覧する人に渡されます。私はまったくフラッシュを知らないが、前回はそれを数年前に使いましたが、ウェブサーバーが必要ない電子メールを送ることができると期待していました:) – Justin808

+1

あなたの仕事よりもサーバーがなければ不可能です。おそらく、デフォルトの電子メールクライアントにユーザーを促すようにすることができます。また、シンプルなWebサーバーは非常に安く、いくつかは無料です。 –

+0

あなたのために私の答えを編集しました。 –

0

ユーザーのコンピュータでCDが不足しているため、サーバーがないため、(?のみ)最適なオプションは、ユーザー自身のメールクライアントを実行することです。

mailto linkをJavaScriptで動的に作成し、それをクリックしてみてください。指定した入力でローカルメールクライアント(Outlook、Thunderbirdなど)を実行する必要があります。ユーザーは「送信」をクリックする必要があります。

0

インターネットに接続していない場合はメールを送信できません。JavaScript、Flashなどを使用している場合は問題ありません。

編集:http://code.google.com/p/smtpmailer/ これはActionScriptで書かれており、あなたのニーズに合うかもしれません。

http://flashflex.com/sending-mail-in-actionscript-using-smtp/ これは背景情報です。

+0

ユーザーはインターネット接続が必要ですが、htmlドキュメントはCDにあるため、PHP/ASPをサーバー上で実行するオプションはありません。私はhtml/javascript/flashに入っています。私はフラッシュがTCP/IPを行い、smtpサーバー(たぶん一般的なGmailアカウント)に電子メールを送り、javascript APIを提供することを望んでいた。 – Justin808

+0

@ Justin808 "しかし、HTML文書はCD上にあるので、PHP/ASPをサーバー上で実行するオプションはありません。"この文は意味をなさない。インターネットに接続している限り、いつでもバックエンドを使用できます。 –

+0

@RobFox - 私は思っていますが、何年もかけてそのバックエンドを無期限に維持することは、私が避けようとしていることです。私はx-platformとの互換性のためにブラウザで動作するアプリケーションを書いていますが、Windows/Mac/Linuxアプリケーションを作成する必要はありません。私はバックエンドをどこかで実行する必要なしに、私に簡単なフィードバックを得るための簡単な(ユーザーのための)方法を探しています。私は電子メールを持っている、彼らは電子メールを持って、これは可能でなければならない。私はmailtoを調べましたが、URLサイズの制限のためにメールのサイズが制限されています。 – Justin808

関連する問題