2006年11月21日火曜日

続・MODx ユーザ登録すると (追記1,2

『MODx ユーザ登録すると』 続編です。



まずは、 php.ini のサーバー設定を弄っていて、どうも既存の Sendmail はWindowsでは使えなさそうだとわかる。(何でだろう。実行形式のSendmail.exeがあるのに & フリーの sendmail ダミーもあるみたい)

また、既存のsmtpサーバアドレスを設定してもメッセージ的にはナンも変わらない(未だ謎)



ZeRo殿の助言をして、 Melon なる送信サーバもどきをインストールする。

その後、それでも送信されなかったが、[MODx設定]項目の[送信者メールアドレス]の値を変更すると送信できるようになりました。(歓喜)



しかし、問い合わせフォームからメールを送ると、また似たメッセージが

« MODx Parse Error »

MODx encountered the following error while attempting to parse the requested resource:
« PHP Parse Error »


PHP error debug
Error: mail() [function.mail]: SMTP server response: 451 MELON ssmtpd: Invalid mail address

Error type/ Nr.: Warning - 2

File: C:\Program Files\xampp\htdocs\modx\manager\includes\document.parser.class.inc.php(705) : eval()'d code

Line: 108



Parser timing
MySQL: 0.0240 s s(5 Requests)
PHP: 0.1374 s s

Total: 0.1613 s s
やるな、あくまでゆーこと聞かないきか!

とりあえず、スムーズに行かないな。たまに登録通知メールの文字化けが起こったり追記2:原因発覚、WEBユーザの登録住所が 東京都 hogehoge...となるところを 東? でぶち切れて登録されてたり。



いや~Xoopsとかの方がいいのかなぁと、後ろを振り返りそうになる。

明確な納期は無いが、一般公開したときにあまりユーザーの迷惑や運用に負担をかけたくないなぁ。



追記1 06.11.22

MODx設定- の送信者メールアドレスも正しく設定されている

スニペット [[ContactForm]]内の $recipient_array には正しくメールが設定されている



追記2 06.11.22

送信先がUTFに対応していない携帯メールでした(あほです)

編集後記

php.ini Melon 等の設定を知りたいというリクエストがあればアップします。しかし、見てる人がいないのでリクエストがくるわけがないと思いますが、たぶん簡単なので今回は省きました。

7 件のコメント:

petitpower さんのコメント...

がんばってますねぇ
MODxの管理画面でのユーザ登録での話しですか??(いまさら聞くなともいえますが)

日本語が一部文字化けなのが微妙に疑問ですけど。
mail関数のところをmb_send_mailに変えれば直るかも・・。
mb_language("Japanese");
mb_internal_encoding("UTF-8");
mb_send_mail(...);
みたいに・・。

そういえば、ユーザ登録時にメールでの通知で作ったことなかったです。

ssmk さんのコメント...

二人目のコメント、感謝感激雨嵐です。

ナルホド! mail関数ですね!…汗…勉強しまっす!
私もまだ MODx も PHP もよくわからずにやってるんですよね。フォーラムに大丈夫だというような投稿を信じて飛び込んだ状態ですので、mail関数すらわかりませんm(_ _)m
ただ皆さんが書いてくださるコメントがキーワードになって学習効率が飛躍的に上がります。
精進します。結果またブログにアップさせていただきます。

ssmk さんのコメント...

ついでにWEB上にあるサイト参考にphp.iniを弄りました。
[mbstring]内を弄りましたが、考えたらEUCとかあったけど、MODx は UTF-8 だから変更したらまずかったかな?

ZeRo さんのコメント...

やば 別のアカウントでいっちゃいました。(^^; なので、実質1名のままです 申し訳ない

php.iniのInternalとMODxの文字コードは合わせておかないと駄目っす。
で、mb_lang・・・の下の文字コード指定はMODxに合わせればOKです。
全部英数字でユーザ作って問題なかったら、次がこのmb周りかと・・・。

ssmk さんのコメント...

たとえZeRoさんお一人でもこの やらいでか! にとっては千人以上のビジターに匹敵する恵みです^^
説明悪くてすみません。0.9.2.2のサンプルとしてついていた

[*loginName*]
Contact Us
Request an Account

に新しいテンプレートをあてて翻訳しています。

現時点においては
・Request an Account ⇒ 登録されるが文字化けも見られる
・Contact Us ⇒ 今回の投稿のエラー
・管理画面からユーザーに新規Passwordを発行すると通知のメールが文字化け
等の問題に直面してます。

日々精進、ZeRoさん感謝!

ZeRo さんのコメント...

あら、、、管理画面のユーザ登録ではemail関数が使われているんですが、英数字のみなら文字化けは・・・しないんじゃないかと思いますが、違うかなぁ
ContactFormもEmailですねぇ
問い合わせならeFormのJPをフォーラムにあげているのでこちらならいけるかと・・・。
届いたメールの中身はどうなってます?
CharsetがISO-2022-JPではないような気もしますが・・・ってメールの本文自体をさらすと長くはなりますが、日本語化けならCharsetと中身の問題の2つはありそうな・。

ssmk さんのコメント...

php.iniの設定見事に default_charset = "ISO-2022-JP" でした。
今回これをUTF-8に修正しました!
しかし、届いたメールのヘッダを見たのですがCharsetのしていが表示されませんでした(Gmailです)。しかしブラウザのエンコーディングの設定がUFT-8になっていたので正しく送られてると思います。

まだ
1.mail関数
2.eForm
は、謎です。すんません。
1.はPHPの固有の設定、2.はその様なスニペットがあるのかな(汗)、と思っていますが、今日は調べるにはいたりませんでした。

ZeRoさん最高!