トップページ > 記事閲覧
参照ボタンを追加して添付ファイルを参照して送信時に添付ファイルを送ることができるようにしたい
投稿日 : 2013/12/08(Sun) 21:40
投稿者 匿名21:37 2013/12/08
参照先 http://sp.hakko-g.com/php/php_estimate/sformmail.php
http://sp.hakko-g.com/php/php_estimate/sformmail.phpに参照ボタンを追加して添付ファイルを参照して送信時に添付ファイルを送ることができるようにしたいのですが方法がわかりません。

ソースコードの変更方法が分かりましたらお教え頂けますでしょうか。

ソースコードはsformmailを利用しました。


[2013-12-08 10:16:09] ユーザーからメッセージが追加されました。

テストで使ったソースがこちらです。
<;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">;
<;html>;
<;head>;
<;meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />;
<;title>;添付ファイル付きのメールを送りたい<;/title>;
<;/head>;
<;body>;
<;?php
$mailTo = // 宛て先アドレス
$mailFrom = // 差出人のメールアドレス
$mailSubject = // メールのタイトル
$mailMessage = // メール本文
$fileName = // 添付するファイル
$returnMail = // Return-Pathに指定するメールアドレス

# メールで日本語使用するための設定をします。
mb_language("japanese") ;
mb_internal_encoding("UTF-8");

$header = "From: $mailFrom
";
$header .= "MIME-Version: 1.0
";
$header .= "Content-Type: multipart/mixed; boundary="__PHPRECIPE__"
";
$header .= "
";

$body = "--__PHPRECIPE__
";
$body .= "Content-Type: text/plain; charset="ISO-2022-JP"
";
$body .= "
";
$body .= $mailMessage . "
";
$body .= "--__PHPRECIPE__
";

# 添付ファイルへの処理をします。
$handle = fopen($fileName,
$attachFile = fread($handle, filesize($fileName));
fclose($handle);
$attachEncode = base64_encode($attachFile);

$body .= "Content-Type: image/jpeg; name="$fileName"
";
$body .= "Content-Transfer-Encoding: base64
";
$body .= "Content-Disposition: attachment; filename="$fileName"
";
$body .= "
";
$body .= chunk_split($attachEncode) . "
";
$body .= "--__PHPRECIPE__--
";


# メールの送信と結果の判定をします。セーフモードがOnの場合は第5引数が使えません。
if (ini_get(’safe_mode’)) {
$result = mb_send_mail($mailTo, $mailSubject, $body, $header);
} else {
$result = mb_send_mail($mailTo, $mailSubject, $body, $header,

}
if ($result) {
echo
} else {
echo
}
?>;
<;/body>;
<;/html>;
-----------------------------------------
返信されたメールがこちらです。
Status: U
X-UIDL: 1386425290.16392.s177,S=50029
Content-Type: multipart/mixed; boundary="__PHPRECIPE__"


Mime-Version: 1.0
Content-Transfer-Encoding: 7bit

--__PHPRECIPE__
Content-Type: text/plain; charset="ISO-2022-JP"

添付ファイル付きメールのテストです。
--__PHPRECIPE__
Content-Type: image/jpeg; name="24-0058.jpg"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="24-0058.jpg"

/9j/4AAQSkZJRgABAgAAZABkAAD/7AARRHVja3kAAQAEAAAAUAAA/+4ADkFkb2JlAGTAAAAAAf/b

----省略---

EBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQf//Z

--__PHPRECIPE__--

---------------------------------
設置しようとしているファイルノーソースコードがこちらのリンクからダウンロードし使用しています。
http://www.sapphirus.biz/c/?UID=sformmail2&URL=/php/sformmail2/sformmail2.2.71.zip
Re: 参照ボタンを追加して添付ファイルを参照して送信時に添付ファイルを送ることができるようにしたい
投稿日 : 2013/12/18(Wed) 14:56
投稿者 スタッフ◆mN.7nm0NYIM
参照先
匿名21:37 2013/12/08様

本件につきましては、サポート対象外ではございますが、他のお客様からのご回答が無い状況を憂慮し、弊社側でも多少の確認をさせていただきました。

実際にご利用されておりますライブラリのsformmail2をダウンロードし、readme.txtを確認させていただきましたところ、
(フォームで必要なinput項目をある程度含めたサンプルHTML があるとのことでしたので)
ファイルをブラウザへドラッグ&ドロップで確認してみましたが、メールへの添付ボタンはありませんでした。
また簡単ではございますが、メインのプログラムコード(sformmail.php)を拝見させていただきましたが、添付ファイル関連の処理は無さそうでした。

配布元サイト様のサポート掲示板(現在休止中)では、前のバージョンですが添付ファイルの事を質問されていた方がいらっしゃいましたが、
http://www.sapphirus.biz/bbs/pppbbs.php?mode=all&no=59
の通り、バージョン1には添付ファイル機能は存在しないとのことです。
バージョン2のページ( http://www.sapphirus.biz/php/sformmail2/ )でも、添付ファイル機能の事は明記されていないようなので、このライブラリにはファイルを添付する機能がデフォルトでは存在しない可能性がございます。

すでにお調べいただいている内容かもしれず、また、ご自身での機能追加をご検討中であるかとは存じますが、誠に申し訳ございませんが、弊社といたしましては、実際の機能追加の可否については確認できない状況となっております。
そのため、引き続き、他のお客様からのアドバイスをお受けいただくか、あるいは、専門家の方への改良依頼、他のスクリプトのご利用などについてご検討いただくこともご一案かと思われます。

ご希望の動作ができませんことは申し訳なく存じますが、以上、よろしければご参考いただければ幸いです。