バージョン選択

フォーラム

メニュー

オンライン状況

39 人のユーザが現在オンラインです。 (23 人のユーザが フォーラム を参照しています。)
登録ユーザ: 0
ゲスト: 39
もっと...

サイト内検索

質問 > フロント機能 > 受信したメールの行間隔が異常に広い

フロント機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
goodspeed
投稿日時: 2012/7/4 19:10
対応状況: −−−
長老
登録日: 2011/9/7
居住地:
投稿: 163
受信したメールの行間隔が異常に広い
お問い合わせや受注メールなどのテストをしているのですが、
受信したメールの行間隔が広く、とても読みづらメールになっております。

ただし、このような現象が起きている部分は、
基本情報管理>メール設定から入力した部分(ヘッダー、フッター)だけ行間隔が広くなるようです。
また、このメールをGmailで受信するとこのような問題はないのですが、レンタルサーバーを介してGmailで受信したメールは行間隔が広くなっているようです。

なぜこのような現象が起きるのでしょうか?そもそもこれはECCUBEの問題なのか?サーバーの問題なのか? 全くわかりません。

アドバイスをよろしくお願いします。


----------------
注意!私の場合、理論的なアドバイスではありません。
なんとなくこうだった気がする・・・程度の話で、参考までに聞く程度でお願いします。

goodspeed
投稿日時: 2012/7/7 10:30
対応状況: −−−
長老
登録日: 2011/9/7
居住地:
投稿: 163
Re: 受信したメールの行間隔が異常に広い
基本情報管理>メール設定から入力した部分(ヘッダー、フッター)だけが行間が広がるので、
このヘッダーとフッターに入力した文字をすべて削除したいのですが、何度削除しても入力した内容が消えません。

どうすれば、ヘッダーとフッターに入力した文字をすべて消すことができるのでしょうか?
一度入力すると、編集はできても空にすることはできないのでしょうか?

消すことができれば、メールのテンプレートにヘッダー&フッターの内容をいれこんでごまかすこともできると思うので・・・ (でも、これも問題がありそうですが)


----------------
注意!私の場合、理論的なアドバイスではありません。
なんとなくこうだった気がする・・・程度の話で、参考までに聞く程度でお願いします。

gugu
投稿日時: 2012/7/7 16:59
対応状況: −−−
新米
登録日: 2011/4/12
居住地:
投稿: 7
Re: 受信したメールの行間隔が異常に広い
こんにちわ。

行間が広がるのは、改行コード課と思いますが、環境によるものが大きいかとは思います。

ヘッダとフッタですが、管理画面からは空にすることはできないようです。

LC_Page_Admin_Basis_Mail.php

lfInitParam
だと思いますが、
EXIST_CHECK
が入っていて空であることを禁止しています。
入力画面に必須の注釈は無いですが。。

DBを直接操作すれば削除は可能ですが、慣れていないようであればあまりお勧めの操作ではありません。

LC_Page_Admin_Basis_Mail_Ex.php
で上書きしてEXIST_CHECKを外すか、
DBを書き換えるか。
ですかね。。

DBはご自身で該当箇所が探せないようであればやらないほうが良いと思います。

空にできないのはBUGというべきか否か。。

参考までに。


----------------

goodspeed
投稿日時: 2012/7/18 21:03
対応状況: −−−
長老
登録日: 2011/9/7
居住地:
投稿: 163
Re: 受信したメールの行間隔が異常に広い
DB「dtb_mailtemplate」で削除できました。
しかし、問題は解決できませんでした。

DBを作り直し、「基本情報管理>メール設定」のヘッダーやフッターに変更を加える前に、お問い合わせメールや注文受付メールを試して見たところ、お客様が受信するメールも、お店側が受信するメールも正常に表示されました。

その後、「基本情報管理>メール設定」で「注文受付メール」のヘッダーやフッターに変更を加えると、お店側が受信するメールで改行が増えた状態になりました。ここに何か問題はないのでしょうか?

DB「dtb_mailtemplate」をエクスポートし内容を見てみると、\n の部分が \r\nとなっているようです。「基本情報管理>メール設定」で「注文受付メール」のヘッダーやフッターに変更を加える前は、\nでしたが、どうして\r\nに変わるのでしょうか?

ちなみに、\r\nを\nに変更すると、ヘッダーやフッターの部分は正常に戻りますが、本文が正常な状態に戻りません。


お客様に届くメールがどの環境でも正常に表示されれば良いのだが。。。
困ったなぁ。


追記2012.07.20
各種メールテンプレートファイルにヘッダーやフッター部分を直接入力し、
試してみたところ、これでも解決できません。

使用しているソフトはDreamWeaverCS3ですが、ソフトの問題なのでしょうか?
このソフトの改行コードの設定はCRLF(windows)です。


----------------
注意!私の場合、理論的なアドバイスではありません。
なんとなくこうだった気がする・・・程度の話で、参考までに聞く程度でお願いします。

uubb
投稿日時: 2012/8/2 16:24
対応状況: −−−
常連
登録日: 2012/5/29
居住地:
投稿: 53
Re: 受信したメールの行間隔が異常に広い
data/class/SC_SendMail.phpをカスタマイズする事によって outlookも改行された状態で表示され見やすくなりました。 SC_SendMail.phpの119行ぐらいに本文の設定がありますので、
// 本文の設定
function setBody($body) {
$this->body = mb_convert_encoding($body, "JIS", CHAR_CODE);
}
を下記のように修正します。
// 本文の設定
function setBody($body) {
$this->body = mb_convert_encoding($body, "JIS", CHAR_CODE);
$this->body = str_replace("\x0D\x0A", "\n", $this->body);
$this->body = str_replace("\x0D", "\n", $this->body);
$this->body = str_replace("\x0A", "\n", $this->body);
}
これで、今のところは問題ありません。
seasoft
投稿日時: 2012/8/2 16:37
対応状況: −−−
登録日: 2008/6/4
居住地:
投稿: 7333
Re: 受信したメールの行間隔が異常に広い
「"\x0A" → "\n"」は無意味なような・・・

PHP らしく実装するなら、
$this->body = str_replace(array("\r\n", "\r"), "\n", $this->body);
とか、1行記述もありかも。(動作未検証)

# 本当は strtr の方が良いのかもなぁ・・・


----------------
Seasoft
こちらでの投稿は、アイディア程度に留めさせていただいております。
個別案件の作業は有償で承っております。お気軽にご相談ください。

goodspeed
投稿日時: 2012/8/6 14:29
対応状況: −−−
長老
登録日: 2011/9/7
居住地:
投稿: 163
Re: 受信したメールの行間隔が異常に広い
uubb様、seasoft様
返答いただきありがとうございます。
サイトを開始したので、フォーラムのチャックをしばらくしておりませんでした。

uubb様へ
----------------------------------------------------------------
教えていただいた通り、書き換えたところ、
理想通りの改行数で表示されるようになりました。
現在は、アドバイスいただいたものを使用しております。

ただし、アドバイスがもう一つあり、そちらがシンプルなのでうまく動くようであれば、そちらに変更するかもしれません。

ありがとうございました。



seasoft様へ
----------------------------------------------------------------
教えていただいた通り、書き換えたところ、
本文が全くないメールが届くようです。

// 本文の設定
function setBody($body) {
$this->body = str_replace(array("\r\n", "\r"), "\n", $this->body);
}

上記の通りでいいのでしょうか?
それとも、何か足りないのでしょうか?

よろしくお願いいたします。


----------------
注意!私の場合、理論的なアドバイスではありません。
なんとなくこうだった気がする・・・程度の話で、参考までに聞く程度でお願いします。

habu
投稿日時: 2013/3/25 21:04
対応状況: −−−
長老
登録日: 2006/9/15
居住地:
投稿: 277
Re: 受信したメールの行間隔が異常に広い
こちら、修正パッチをコミットしました。
http://svn.ec-cube.net/open_trac/ticket/2203

>goodspeed様
引用:
上記の通りでいいのでしょうか?
それとも、何か足りないのでしょうか?
関数内をまるごと書き換えてしまうのではなく、
1行追記するとうまくいくと思います。
http://svn.ec-cube.net/open_trac/changeset/22752


----------------
株式会社システムフレンド
羽生 賢太郎(Kentaro Habu)
改造専門店・EC-CUBE工房

スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


EC-CUBEペイメント

公式ストアEC-CUBE4系デザインテンプレート続々リリース中

統計情報

総メンバー数は69,551名です
総投稿数は100,169件です

投稿数ランキング

1
seasoft
7333
2
468
2878
3
AMUAMU
2712
4
nanasess
2126
5
umebius
1889
6
yuh
1612
7
red
1435
8
h_tanaka
1069
9
fukap
907
10
tsuji
891
11
shutta
835
12
tao_s
793
13 ramrun 789
14 karin 657
15 sumida 641
16
homan
633
17 DELIGHT 572
18
patapata
502
19
flealog
485
20 tonton 437


ネットショップの壺

EC-CUBEインテグレートパートナー

Copyright© EC-CUBE CO.,LTD. All Rights Reserved.