■ユーザーズフォーラム リニューアルのお知らせ
新規投稿は新ユーザーズフォーラムにお願いします。

メール本文内のフォント設定

lnln > メール本文内のフォント設定 @ 2012/4/13 15:40
以下のようなメールを送る際に、一部の文字だけフォントを小さくしたいのですが、どうしたらいいでしょうか。
超初心者なので、当たり前の質問かもしれませんが、よろしくお願いいたします。

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
        ◆◇ お申し込みの受付 ◇◆
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
<? echo $other['second_name']; ?> <? echo $other['first_name']; ?> 様

 この度は、お申し込みいただきありがとうございます。
申し込み番号は<? echo $other['app_number']; ?>となります。

商品と一緒に、このメールに添付された買取申込書を送付してください。
goichi > Re: メール本文内のフォント設定 @ 2012/4/13 21:07
こんにちは(^^
メールの文字を小さくしたり、色を変えたりする場合、
プレーンテキストではなく、HTMLメールを送ることになりますよね。

baserCMSは元々cakePHPを使っていますが、
cakePHPにHTMLメールを送る機能が、ちゃんとあるみたいです。(^^

ただし、baserCMSのデフォルトの設定では
HTMLメールを送る事を想定していないような雰囲気ですので、
少しファイルをいじる必要があるかも知れませんね・・・。

ちょっと試していないので、間違っていたら申し訳ないのですが、
/baser/controllers/baser_app_controller.php の711行目あたりに
return $this->EmailEx->send();

という部分があるかと思います。その直前にでも次の一行を足してみてください。
$this->EmailEx->sendAs='html';

この一行を足すと、設定上ではHTMLメールの送信が可能になるはずですので、
あとはメールのテンプレートにHTMLタグを入れて文字を小さくしてはどうでしょうか。
例えば質問者さんが挙げている例の中で、「お申し込みの受付」を小さくする場合、

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
       <small> ◆◇ お申し込みの受付 ◇◆ </small>
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
<? echo $other['second_name']; ?> <? echo $other['first_name']; ?> 様

 この度は、お申し込みいただきありがとうございます。
申し込み番号は<? echo $other['app_number']; ?>となります。

商品と一緒に、このメールに添付された買取申込書を送付してください。

みたいにするといいのではないかと思います。

と、このように書いている私自身が試したことが無いので(汗
実験結果を教えてもらえると嬉しいです。。。いい加減ですみません・・・。
lnln > htmlに設定してやってみました @ 2012/4/16 11:56
goichiさん、回答ありがとうございます。

html形式でないと、文字を小さくできないことがまずわかっていませんでした。

さっそく、htmlに設定してやってみましたが、メールはhtml形式になりましたが、
メール本文に以下のようなメッセージのみが表示されてしまいました。

This email was sent using the CakePHP Framework

なかなかうまくはいかないです。
goichi > Re: htmlに設定してやってみました @ 2012/4/17 21:06
どうもです(^^
すみません、実験してもらって、しかも失敗でしたね・・・。
申し訳ないです。m(__)m

んで、ちょっと調べてみました。
私もうっかりしていた部分があるのですが、
HTML型のメールと、TEXT型のメールとでは
テンプレートの保存場所(設置場所)が異なるみたいです。
ですので、前回の私の回答にプラスして、以下の処置を行なってみてください(^^

いま、おそらく
/baser/plugins/mail/views/layouts/email/
というフォルダのなかに「text」というフォルダがあると思います。
このtextフォルダを、フォルダごと中身も一緒にコピーし、
フォルダ名を「html」としてください。

つまり、先ほどの
/baser/plugins/mail/views/layouts/email/
という階層に「text」フォルダと「html」フォルダの2つが出来ている状態にします。
すると「html」フォルダの中には「default.ctp」というファイルが入った状態になると思います。
(textフォルダからコピーしたものが、そのまま入っている状態。)

*追記* ・・・一度書き込んだあとに追記しています・・・
htmlフォルダ内に入ったdefault.ctpを開いていただくと
<?php echo $content_for_layout; ?>

という部分があると思います。今回、HTMLメールのひな形にしなくてはいけないので、
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html>
<body>
	<?php echo $content_for_layout;?>
</body>
</html>

としておくと良いと思います。

ここまで出来たら、
もう一度、送信のテストをしてみていただけないでしょうか?
たぶん、出来るのではないかと思うのですが・・・。
ryuring > Re: htmlに設定してやってみました @ 2012/4/18 21:43
こんばんは。

なるほど、HTMLメールですね。goichiさんのおっしゃるとおり現状では、コアに手を入れる必要がありそうです。

取り急ぎ課題として登録しました。
メールフォームでHTMLメールを送りたい

Twitter:@ryuring
baserCMS総合サービスサイト ビーコミ

ログイン
ユーザー名:
パスワード:


  新規登録 / パスワード紛失

検索

facebook
フォーラムで悩みが解決した場合など、よかったら「いいね!」をポチっとクリックしてください!質問の回答者や開発者の励みになります

フォーラムガイド


関連リンク

オンライン状況
9 人のユーザが現在オンラインです。 (7 人のユーザが フォーラム を参照しています。)

登録ユーザ: 0
ゲスト: 9