Help
寄せられた質問の中から改造が必要なものをまとめてみました。バグレポートや実装済みの要望は省略しています。
選択されたチェックボックスの値の並べ方を変える
チェックボックスを設置しメールで受信した場合、
チェックボックス1
チェックボックス2
チェックボックス3の様に改行されますが、改行でなく「区切り記号」で、
チェックボックス1 チェックボックス2 チェックボックス3
の様に改造するには何処を直せば良いのでしょうか?
Answer
zeromail.php(ver1.4)の157行目付近にPOSTされた配列を処理している下記ソースがあります
if(is_array($value)){ $value=implode("\n", $value); }
この"\n"を変更すれば改行から別の文字列に変えることが出来ます。
SSLの使用は可能でしょうか?
サーバに共有SSLのサービスがあり、それを使おうとしてるのですが、うまくいきません。
原因がわからず困り果てております。
Answer
共有SSLはhttps外からのファイル読み込みを禁止にしている場合があるので、
httpサーバーにあるファイルを利用していると鍵が割れた状態になります。
使用するファイルを全てhttps以下に設置すれば動かす事は出来ると思います。
ただし暗号化されるのはフォームに書き込んだ内容を送信する部分だけで
スクリプトから送信されるメール自体は対応してないので暗号化されません。
また、スクリプトからのメール送信をSSL化しても、受信にSSL使ってないとあんまり意味がないです。
お名前.comの共用サーバーで控えのメールだけ送信がされない
お名前.comの共用サーバーで使用しているのですが
控えのメールだけ送信がされません。init.php内の
//自動返信
//trueにした場合はフォームでのチェックの有無関係なく返信する
//下記設定に関係なくメールアドレスが必須入力になる
define(’REPLY’,true);この部分をtrueにしてもfalseにしても同様でした。
お名前.comのヘルプにて
【PHP】 ○概要 ◦エンコードを行う ◦接続情報作成 ◦mb_send_mailを使用 === サンプルここから === <?php mb_language( "ja" ); mb_internal_encoding("EUC-JP"); $send = mb_convert_encoding("本文", mb_internal_encoding(), "SJIS"); $to = "送信元メールアドレス"; $from = "送信先メールアドレス"; ini_set("SMTP", "SMTPサーバ名"); ini_set("sendmail_from", $from); mb_send_mail($to, $send, $send); print "OK"; ?> SmtpMail.Send(mm) === サンプルここまで ===と記述があるのですが、特定サーバーでは別途
ini_set("SMTP", "SMTPサーバ名"); ini_set("sendmail_from", $from);などが必要になるのでしょうか?
Answer
どうもお名前.comではmb_send_mailを利用する場合にiniの追加が必要みたいですね。
ini_setをzeromail.phpの先頭あたりに入れてみてください。
総文字数チェックを追加する
ZeroMailで、予約されているname値として、messageで文字総数を決められるようになっているとあるのですが、zeromail.php にはそうしたソースが見当たりません。タグに何か入れ込むとできるようになるのでしょうか。教えて下さい。
Answer
総文字数は説明のミスでリンク総数の間違いでした。(修正済み)
必要であれば追加することは出来ます。
zeromail.php(ver1.4)の291行目 本文禁止語句チェックの条件下(301と302行の間くらい)に追加
}elseif(mb_strlen($value) > 1000) { $formitem[$name[0]]=convert_encode('<strong>1000文字以下にしてください。</strong>'); $error++; }