- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:メールの本文をSmartyにしたい)
メール本文をSmartyにする方法と問題解決のアドバイス
このQ&Aのポイント
- メール送信の本文をSmartyテンプレートにしようと考えていますが、メールの本文が真っ白になってしまう問題に直面しています。メールは正しく受信できており、Smartyのテンプレートを読み込むこともできていることが確認できました。この問題の解決方法についてアドバイスをお願いします。
- メールの本文をSmartyテンプレートにしたいが、本文が空白になる問題に困っています。メールは正しく受信できており、Smartyのテンプレートの内容も表示されています。問題の解決策を教えてください。
- メール送信の本文をSmartyテンプレートにしたいですが、本文が空白になってしまう困っています。メールは正しく受信できているし、Smartyのテンプレートの内容も表示されています。この問題の解決方法を教えてください。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
切り分け的には書いてある文からでは問題なさそうにしか思えません。 もしかすると、受信したメールのソースを表示してみるといいかも知れません。 thunderbirdにはその機能がありますが、ご使用のメーラにその機能があるかどうかは不明です。 あちこちのフリーメールに送ってみて、やはりすべて空白なのかどうかとか調べてみるという手はあるかも。 メール送信を関数化していて、$bodyはローカル変数でSmartyから読みこんだ値はグローバル変数に保存しているなんて事はないですよね? print($body)で読みこめたかどうか確認したのは、mb_send_mailの位置(直前でも直後でも、mb_send_mailをコメントアウトして置き換えたでも可)ですよね? なんとなくポカミスレベルの事じゃないかと感じてますが、具体的にどんなポカミスなのかってのは、想像できませんね。
補足
アドバイス頂きありがとうございます。 教えていただいた内容を実行し、前に進めました。そして、新たなことがわかりました。 プログラムを./start.phpのような形で、 コマンドから起動した場合、メール送信の本文はSmartyのテンプレートになるのですが、 プログラムから自動で起動した場合、メール送信の本文がSmartyのテンプレートにならない ということがわかりました。 具体的には、専用のアドレスにメールが届くと、start.phpが働き、メールが送信される 仕組みです。 使っているレンタルサーバはサクラで、 .mailfilter にstart.phpのパスを書いて、start.phpを動かしています。 確認すべき事項等おわかりでしたら、再度、アドバイスいただけないでしょうか。 内容を変えて再度掲示板に投稿しようと考えているので、余裕のある場合のみアドバイスいただければ、幸いです。