個人事業を始めてすぐに、必要にかられてメールフォームシステムを作ったのですが、自分たちで使うだけではそんなに案件数もないし、ただ眠らせておくのはもったいないと思い、GitHubで公開することにしました。GitHubCopyright表示不要でMITライセンスなので、商用、非商用問わず自由に使っていただけます。改造したり再配布していただいてもOKです。Requestください!お客さんのサイトに設置したり、設置代行で手数料を取ったりしてもらってもOKです。可能であれば、TransmitMail自体は無料で扱ってもらえるとうれしいです。(個人的な考えですので、強制ではないです。)TransmitMailの特徴メールフォームシステムなんて、ましてやPHP製なんて星の数ほどあると思いますが、TransmitMailには「マークアップエンジニアに優しい」という特徴があります。メールフォームの設置って、大抵、マークアップエンジニアの仕事ですよね?マークアップエンジニア(僕)が作ったので、マークアップエンジニアに優しい作りになっています。テンプレートの記法が少々難しいかもしれませんが、慣れればかなり早く設置できるじゃないかと思います。「予算の都合でCMSは設置しないけどメールフォームは欲しい!!」なんてときにちょうどいいんじゃないかなと思います。設置方法についてGitHubのWikiにマニュアルをまとめました。メールフォームを設置したことがある方でしたら、HTMLファイルとconfディレクトリの中を見ればだいたい理解してもられると思います。GitHubいろいろなメールフォームシステムを設置してきて思ったことマークアップエンジニアとしていろいろなWebサイト制作に携わり、CMSだったりCMSじゃなかったりと、いろいろなメールフォームシステムを触ってきた結果、「ここが使いにくいよなぁ。「ここがこうだったら使いやすいのに。」とか、日頃から思っていた不満やストレスの全てをぶつけて作りました。そのせいで、多少冗長な記述が必要になる場合もありますが、汎用性を持たせるため仕方がないかなと思っています。その時は多少時間がかかるかもしれませんが、結果的には時間短縮になると信じています。マークアップはWeb制作の一番最後の行程(運用は除いて)で、大抵、設計やデザインやお客さん都合で押したスケジュールのしわ寄せがきているかと思います。そんなマークアップエンジニアが、TransmitMailを使って少しでも早く帰れることを願って止みません。日本のマークアップエンジニアの皆さん、一緒にがんばりましょう!!また、不具合等発見されましたら、GitHubのissueやこのブログにコメントいただければ幸いです。19:30myt様TransmitMailをご利用いただきありがとうございます。自動返信メールで送られるメールアドレスの名前がconfig.phpのAUTO_REPLY_NAMEで設定したものにならないようです。利用する処理が抜けてしまっておりました...。最新のバージョン(1.4.2)をご利用いただければ幸いでございます。https://github.com/dounokouno/TransmitMailその他不具合等ございましたら、お気軽にご指摘いただければ幸いでございます。それでは、今後ともどうぞよろしくお願いいたします。ご返信、誠にありがとうございます。修正いただいたバージョンを試してみましたら、無事件名を表示させることができました。メールフォームは色々試してみましたが、TransmitMailが一番分かりやすく、重宝させていただいており、これからもメールフォームを作成する際には、活用せていただこうと思います。迅速にご対応いただき、本当にありがとうございました。22:48いつもありがたく使わせてもらっています。ありがとうございます。一つご質問ですが、添付ファイルを必須項目にするにはどうしたらよいでしょうか。以下のようにすると、常に「〜は必須入力です」となってしまい、常にファイルが選択されていない状態になります。{if:$ファイル.tmp_name}このファイルを削除する{/if:$ファイル.tmp_name}{if:$required.ファイル}{$required.ファイル}{/if:$required.ファイル}{loop:$file.ファイル}{$file.ファイル[]}{/loop:$file.ファイル}もし何か分かる事がありましたらご指南いただければと思います。00:11河島様TransmitMailをご利用いただきありがとうございます。申し訳ありませんが、現時点ではその機能は備わっておりません。機能追加を検討させていただきますね。「./index.php」の「$_FILES」変数の呼び出し辺りを参考にカスタマイズしていただければと思います。type=”file”」に入力があるかをチェックしても良いかもしれません。type=”file”」の値を参照できるかと思います。ご参考になれば幸いです。04:40ご返答ありがとうございました。自身で対応したいと思います。親切丁寧ににご対応いただきありがとうございました。10:09はじめまして。TransmitMailによくお世話になっています。今回新しいサイトを作ることになりまたGitHubから最新版をダウンロードさせて頂きました。最新版にすると、ページの表示まで3秒ほど掛かってしまいます。ミリ(全体比率94.5%)秒掛かってしまっています。いじりすぎて戻せなくなり、オリジナルデータも残っていません。早急ではありませんが、原因分析・修正をお願いしてもよろしいでしょうか。11:54はじめまして。TransmitMailを設置いたします。PHPなどは全くわからず、恥ずかしい質問かもしれませんが、ご返答いただければ幸いです。入力必須などの設定はできたのですが、確認画面へ遷移しません。GET値の取得も表示されていません。送信ボタンをクリックしても、入力画面が入力内容を残したまま表示されてしまいます。TransmitMailの設置は、DLした全フォルダ・ファイルをサーバーへUPし、パーミッションを変更するだけでは利用できないのでしょうか。他に何か設定が必要でしょうか。ACEプランを使っております。お忙しい所、超初歩的なご質問で大変申し訳ございませんが、ご返答お願い致します。19:25yuta*゚様TransmitMailをご利用いただきありがとうございます。調査のご報告をいただきありがとうございます。一度、詳しく調査を行ってみたいと思いますので、よろしければお手元のTransmitMailのファイル一式をお送りいただくことは可能でしょうか?(後ほど、コメントいただいたメールアドレス宛にご連絡をさせていただきますね。)ご検討いただければ幸いでございます。23:06松本様TransmitMailをご利用いただきありがとうございます。一度、動作確認を行ってみていただければ幸いです。「conf/config.php」の45行目の「SESSION」を「false」にしていただく形になります。https://github.com/dounokouno/TransmitMail/blob/master/conf/config.php#L45また、セッション関連の詳細の設定は「conf/config.php」の176行目以降になります。「conf/config.php」の178行目〜180行目をコメントアウトしていただくと、もしかしますと、うまく動作するかもしれません。あわせてご確認いただければ幸いでございます。停止をしたところ、メール送信はできたのですが、入力の値がメールに記載されていませんでした。(テンプレートのみ表示)同じ内容のTransmitMailを他サーバーで設置した場合は、正常に動いてました。01:01sofu様TransmitMailをご利用いただきありがとうございます。動作検証を行いました。入力確認画面に遷移できることを確認いたしました。$_SERVER['SERVER_NAME']);また、送信メールに入力の値が記載されない件に関しましては、CPIのサーバー側の設定で「mbstring.internal_encoding」が「EUC-JP」になっていることが原因のようでした。記コードを参考に「.htaccess」と「php.ini」を作成いただき、TransmitMailと同じディレクトリに設置ください。以下の行は「.htaccess」と「php.ini」へのアクセス拒否の設定ですので、不要な場合は無くてOKです。UTF-8」でも良いかと思います。私が確認した環境では、上記設定にて正しく動作することを確認いたしました。ご参考になれば幸いです。18:03こんにちは。TransmitMailを使わせて頂いております。これまで1年以上問題はなかったのですが最近メールが受信されず、config.phpのメールアドレス設定部分を変更したら今度はエラーになってしまったので解決策をお聞かせ願えますでしょうか。15現在、以上のようなエラー状態なのですが、復元方法はありますでしょうか。誠にお手数ですがご教示頂ければ幸いです。※ちなみに、今まで気にしていなかったのですがログ(/logs/)に一度も履歴が残りません。(フォルダ名は「logs」、フォルダのパーミッションは777にしています)こちらの原因も分かれば、教えて頂ければ幸いです。21:41kun様TransmitMailをご利用いただきありがとうございます。エラーメッセージを拝見しますと、「index.php」から「lib/common.php」を読み込むことができていないようです。お手数ですが、まずは下記点のご確認をお願いいたします。「lib/common.php」はサーバー上に存在していますでしょうか?「lib/common.php」のパーミッションは正しく設定されていますでしょうか?パーミッションの数値は、GitHubのWikiをご参照ください。ログ(/logs/)に一度も履歴が残りません。こちらの原因も分かれば、教えて頂ければ幸いです。上記件に関しましては、普通にご利用いただいている限りは特にエラーログ等は出力されることはありません。「conf/config.php」の107行目の「display_errors」を「On」にしていただきますと、ご教示いただいたエラーメッセージがエラーログファイルとして出力されるかと存じます。https://github.com/dounokouno/TransmitMail/blob/master/conf/config.php#L107エラーログファイルが出力されない場合は、やはりパーミッションの設定が間違っている可能性がございますので、GitHubのWikiの「設置方法」をご参照いただき、パーミッションのご確認をお願いいたします。01:00tagawa様ご回答ありがとうございます。「lib/common.php」のパーミッションは正しく設定されていますでしょうか?パーミッションはいじっていないので今一度、ディレクトリ構成を確認したところ、何かの弾みで「lib」が「conf」の下層に入っておりました。移動させたところ表示されました。設定アドレスをhotmail→gmailに変えたところ、gmailの方はちゃんと受信できましたのでhotmailの方に問題があるようです。迷惑メールフォルダにも入らないのは謎ですが...(もちろん受信拒否にもしていません)以上、ご報告でした。今回はお手を煩わしまして申し訳ございませんでした。19:28はじめまして。TransmitMailを設置いたします。1点、ご質問がございます。ファイル添付機能を利用予定です。動作は送信メール、自動返信メールともに問題無くできているのですが、自動返信メールに添付ファイルをつけないように設定することはできるのでしょうか。以上、どうぞよろしくお願いいたします。22:37tomio様TransmitMailをご利用いただきありがとうございます。「自動返信メールには添付ファイルを付けないようにする設定」は現時点ではありませんので、プログラム自体をカスタマイズしていただく形になるかと思います。以前、Githubのissueにて同様のご質問をいただいておりましたので、そのときのコメントをご紹介させていただきます。https://github.com/dounokouno/TransmitMail/issues/2#issuecomment-26195635行番号等は変わってしまっている場合がございますが、ほぼ同様のカスタマイズにて対応可能かと思います。ご参考になれば幸いです。10:00カスタマイズの方、無事できました!迅速なご対応に感激しました。本当にありがとうございました。18:27はじめまして、TransmitMailをどうもありがとうございます。テンプレート化などがしっかりと作られており、楽に設置でき、とても重宝させていただいております。ファイル添付や各種バリデーション機能を含め、とても良く練られており助かっています。ひとつだけ要望なのですが、機種依存文字チェックがあれば嬉しいです。TEL、☎など、機種依存文字を含めたテキストを送信してしまう方が多く、そのまま送信してもテキストが「?」となってしまい困っています。機種依存文字が含まれている場合には送信できないようにして、変更を促すようにできたら素晴らしいです。23:07masa様TransmitMailをご利用いただき、またご要望をいただきありがとうございます。今後の機能追加にて実装を検討しますね。以下、PHPで機種依存文字の判別と置換をする実装方法のメモです。18:59フォームスクリプトは数あれど、TransmitMailには本当に助けられています。複雑で項目の多いフォームやファイル添付を伴う場合には、もうTransmitMail以外には考えられません。ご要望を一つあげさせてください。機種依存文字にも関連するのですが、テキストボックスやテキストエリアなど、valueを伴う値を正規表現でヴァリデーションチェックできるようになればすごく嬉しいです。いくつか例をあげさせていただきます。クレジットカード番号の判定{if:$regexp.クレカ}{$regexp.クレカ}{/if:$regexp.クレカ}みたいな感じで、入力値の判定を正規表現で行えるようになるいると、ヴァリデーションの汎用性が非常に高くなると思います。アイデアですので実装が可能かどうか分かりませんが、もし可能であれば大変嬉しいです。19:03すみません、送信テキストにタグが入っていたため、上手く送信できませんでした。タグの部分を全角文字にして、再度送信させていただきます。送信した内容:フォームスクリプトは数あれど、TransmitMailには本当に助けられています。複雑で項目の多いフォームやファイル添付を伴う場合には、もうTransmitMail以外には考えられません。ご要望を一つあげさせてください。機種依存文字にも関連するのですが、テキストボックスやテキストエリアなど、valueを伴う値を正規表現でヴァリデーションチェックできるようになればすごく嬉しいです。いくつか例をあげさせていただきます。class="error"><em>{$regexp.クレカ}</em></div>{/if:$regexp.クレカ}みたいな感じで、入力値の判定を正規表現で行えるようになるいると、ヴァリデーションの汎用性が非常に高くなると思います。アイデアですので実装が可能かどうか分かりませんが、もし可能であれば大変嬉しいです。18:21tagawa様TransmitMailをいつも利用させていただいております。ありがとうございます。こちらの環境の問題かバグなのかわかりませんが文字化けが発生いたしましたのでご報告させていただきます。普通に利用している分には起こらない現象ですが全角で470文字前後を連続して入力すると自動返信メールで文字化けいたします。改行なども一切なしです。改行を入れると470文字を超えても文字化けいたしません。サーバーはシックスコア共有サーバーとエックスサーバーX10プランです。Safari7.0.4です。22:24お世話になります。フォームを設置したのですが、以下のメッセージが出てしまい、送信完了できません。ご利用いただきありがとうございます。(貼り付けていただいたエラーメッセージのファイルパスは一部、修正をさせていただきました。)サーバーはレンタルサーバーでしょうか?サーバー会社名やプラン名などをご教示いただけましたら、詳しく調査できるかもしれません。ご確認をお願いいたします。15:09はじめまして。TransmitMailを使わせていただこうと思っております。ありがとうございます。設置させていただきたく、諸々設定しているのですが、フォームのURLにアクセスすると、下記のエラーがでてしまい困っております。(PHPに詳しくなく、、初歩的な質問かもしれず申し訳ありません。確認画面へ遷移しなくなってしまいました。チェックモードで確認すると、パーミッションやhtmlファイル等、すべてOKになっておりました。ver.5.6(CGI版)となっております。お忙しいところお手数おかけいたしますが、よろしくお願いいたします。ご利用いただきありがとうございます。以前のバージョンで発生します。以下なのではと思われます。バージョンをご確認いただければと思います。18:12お世話になります。すみません、、お客様のサーバーでして、確認してみたところPHPのバージョンがおっしゃるとおり5.2になっておりました。5.5にあげたところ、正常に動作いたしました。お手数おかけしてすみませんでした!ありがとうございました。1240のエラーメッセージが表示されました。5.2.13となっております。恐縮ですが、アドバイスを頂けますと幸いです。14:36すみません、読み違えをしておりました。5.2以下ということは、5.2.13も当然含まれますね。ご利用いただきありがとうございます。サポート対象外となります。以上にてご利用いただきますよう、お願いをいたします。3コメントを残すメールアドレスが公開されることはありません。名前メールサイト上に表示された文字を入力してください。