Because We Love Happy Coding

フリーライターからエンジニア × 講師。発信力だけあり余ってる感じ

ECCUBE3のメールテンプレートの改行規則がよくわからない

今日もまたコーディング。だって僕らはHappy Codingが大好きだから。

という話。

問い合わせメールの内容を変更していたのだけれど、改行が適用されたりされなかったりする。

************************************************
 ご請求金額
************************************************

ご注文番号:{{ Order.id }}
お支払い合計:{{ Order.payment_total|price}}
お支払い方法:{{ Order.payment_method }}
メッセージ:{{ Order.message }}

受信したメールの方は

ご注文番号:{{ Order.id }}お支払い合計:{{ Order.payment_total|price}}
お支払い方法:{{ Order.payment_method }}
メッセージ:{{ Order.message }}

となっていたりする。改行されたり、されなかったりする。この規則性がよくわからない。

テンプレートの改行コードも確認したが、すべてnewlineになっていて改行コードが行ごとに違う……ということもない。

原因らしきもの

きっちり検証はしていないが、行末に{% endif %}がある場合に、改行コードが飲まれているような感じもする。二重改行してもダメ。

Outlook文字コードの許容範囲が狭いらしい、という話もある。そういえば私もOutlookだ。

対処

ふと思いついて、全部の行末に半角スペースを入れてみたところ、改行がきちんと反映された。つるかめつるかめ。

参考サイト