バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

バグ報告 > 管理機能 > メールマガジンが動作しない。

管理機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
ゲスト
投稿日時: 2007/5/21 22:38
対応状況: −−−
Re: メールマガジンが動作しない。
すみません、訂正です。
引用:

⇒PhpMyAdminを開き、左側の一覧より『dtb_send_customer』をクリック
⇒『send_id』の『編集』をクリック
⇒『auto_increment』となっている欄のプールダウンより空白を選択後、『保存する』をクリック
(dtb_send_historyには適用しないでいいみたいです。)
⇒インデックスを削除

html/admin/mail/index.phpを下記のように変更
引用:

$objQuery->insert("dtb_send_history", $dtb_send_history );

の下に
$dtb_send_history["send_id"] = $objQuery->nextval('dtb_send_history', 'send_id');

を挿入しました。



ただ、私の環境だと、日本語が文字化けを起こしてます。
どこをイジればいいんでしょう?

開発チームの皆様、どうぞよろしくお願い致します。
nakanishi
投稿日時: 2007/5/22 17:18
対応状況: −−−
EC-CUBE開発チーム
登録日: 2007/5/22
居住地:
投稿: 18
Re: メールマガジンが動作しない。
いつもお世話になっております。
株式会社ロックオン技術開発部の中西と申します。

皆様にご投稿いただいたメールマガジン配信機能の不具合ですが、
fro様が挙げられていたMySQLで発生していた不具合に関して
調査の末、原因がわかりましたのでご報告させていただきます。

問題となっていたのはhtml/admin/mail/index.phpの
386行目からの
	if (DB_TYPE == "pgsql") {
		$dtb_send_history["send_id"] = $objQuery->nextval('dtb_send_history', 'send_id');
	}

の部分です。
この部分ではデータベースの種類によって処理を分けていますが
クラスSC_Queryのnextvalによってデータベースごとに処理を分けているので
この部分のifが不要だったようです。

ifを取り除いて
$dtb_send_history["send_id"] = $objQuery->nextval('dtb_send_history', 'send_id');

とするとうまくいきます。

なお、最初にゲスト様にご投稿いただいたメールマガジンの予約配信モードでの
不具合に関してですが、引き続き調査中でございます。
原因がわかり次第、対応とご報告をさせていただきます。
ご迷惑をお掛けして大変申し訳ございません。
お困りのところ大変恐れ入りますが、ゲスト様がEC-CUBEをインストールされている環境等の情報を
私どもに教えていただければ今後の調査の参考にさせていただきたいと思います。
ご検討の程、よろしくお願いします。

ゲスト様、fro様、ramrun様、ご指摘いただき、ありがとうございました。
また、ご返信、対応ともに遅くなってしまい、大変申し訳ございませんでした。

今後ともEC-CUBEともども弊社株式会社ロックオンを何卒よろしくお願いいたします。
ゲスト
投稿日時: 2007/5/22 23:10
対応状況: −−−
Re: メールマガジンが動作しない。
開発チーム様

/html/admin/mail/index.phpを元に戻し、上記のように変更、
データベースの方も元に戻して試してみましたが、
管理者宛には、『送信完了』のメールが届きますが、
ユーザー宛には1通もメルマガが送信されない状態になりました。
(配信件数も0件になっています)
dtb_send_customerのauto_incとindexを解除した状態でも同じです。

また、メルマガ送信の動作を繰り返すと、
1回目は管理者宛のメールは1通ですが、
2回目以降は履歴に残っている数量だけ管理者宛にメールが届きます。
(3回繰り返すと3通の『送信完了』のメールが届きます)

当方の環境だけかもしれませんが、再度検証して頂けたら幸いです。

EC-CUBE 1.3.0
MySQL   4.1.18
nakanishi
投稿日時: 2007/5/23 9:53
対応状況: −−−
EC-CUBE開発チーム
登録日: 2007/5/22
居住地:
投稿: 18
Re: メールマガジンが動作しない。
ゲスト様
ご投稿ありがとうございます。

株式会社ロックオン技術開発部の中西です。

ご迷惑、ご不便ををお掛けしまして申し訳ございません。
ご指摘いただいた不具合を早急に検証させていただきます。

環境や具体的な現象等の情報を書いていただけまして、
こちらとしても検証するうえで非常に助かります。
ありがとうございます。
ゲスト
投稿日時: 2007/5/23 10:38
対応状況: −−−
Re: メールマガジンが動作しない。
開発チーム様

不具合の対応方法に誤りがありませんか?

dtb_send_historyにinsertする前にlast_insert_id()を
発行すると前回のメルマガに結びついてしまい
何も送信されないと思いますが...

またdtb_send_customerのsend_idがPrimary Keyが設定されて
いますが、My SQLのPrimary Keyはユニークで無ければ
ならなかったと思うのですが?

参考までに当方の対応は以下の通りです。

1.dtb_send_customerのPrimary Key及びついでに
auto_increment削除
2.dtb_send_history及びdtb_send_customer全件削除
3.lfRegistData()のdtb_send_historyへのInsert後に
 以下追加

if (DB_TYPE == "mysql") {
  $dtb_send_history["send_id"] = $objQuery->nextval('dtb_send_history', 'send_id');
}

ゲスト
投稿日時: 2007/5/29 13:09
対応状況: −−−
Re: メールマガジンが動作しない。
いつもお世話になっております。
株式会社ロックオン技術開発部、中西と申します。

返信が遅くなりまして申し訳ございません。

ゲスト様にご指摘いただいた通り、私の対応が誤っておりました。
ご指摘ありがとうございます。

主な原因はテーブルdtb_send_customerのsend_idにPrimary Key
が設定されていたことによるものでした。

ゲスト様にご提示いただいた修正をEC-CUBEに行いました。
それと同時にインストールファイルにも修正を行いました。
次期リリースで反映させていただく予定となっております。

修正方法及び、修正箇所を以下にゲスト様の記事を参考に示させていただきます。

1.テーブルdtb_send_customerのPrimary Key制約、そしてauto_incrementを削除する
2.テーブルdtb_send_history及びテーブルdtb_send_customer全件削除する
(削除していただかなくとも特に問題はないと考えております。)
3.html/admin/mail/index.phpファイルの関数lfRegistData()のテーブルdtb_send_historyへのInsert後に
 以下の部分を追加する

if (DB_TYPE == "mysql") {
  $dtb_send_history["send_id"] = $objQuery->nextval('dtb_send_history', 'send_id');
}


今回の修正でこの記事の主題であった予約した時間にメールが配信されない不具合も
解消されると考えております。
もし、依然として不具合が起こるようでしたらその旨お知らせいただければ幸いです。

今回、私の未熟さ、不勉強さから皆様に多大なご迷惑と混乱を与えてしまいました。
本当に申し訳ございません。
この反省は今後のEC-CUBE開発に生かしていきます。

ご投稿いただいた皆様、まことにありがとうございました。
今後もEC-CUBE、ひいては株式会社ロックオンを何卒よろしくお願いします。
ゲスト
投稿日時: 2007/6/2 17:25
対応状況: −−−
Re: メールマガジンが動作しない。
あの、大変申し訳ありません。

>1.テーブルdtb_send_customerのPrimary Key制約、そしてauto_incrementを削除する

のやり方をお教え頂けないでしょうか?
EC-Cubeの質問ではないので自分で他で調査すべきなのですが、分わからなかったもので。。

DBはMysqlです。
nakanishi
投稿日時: 2007/6/4 11:31
対応状況: −−−
EC-CUBE開発チーム
登録日: 2007/5/22
居住地:
投稿: 18
Re: メールマガジンが動作しない。
ゲスト様、いつもお世話になっております。
株式会社ロックオン技術開発部の中西です。

ご質問いただきましたMySQLでのauto_incrementとPrimaryKeyの削除に関してですが
ゲスト様の環境でSQLを入力できる状態にしていただいて

auto_incrementの解除のSQL文
ALTER TABLE `dtb_send_customer` CHANGE `send_id` `send_id` INT( 11 ) NOT NULL

プライマリキー削除のSQL文
ALTER TABLE `dtb_send_customer` DROP PRIMARY KEY

以上の2つのSQL文を入力していただくことで
dtb_send_customeからauto_incrementとPrimaryKeyの削除が行えます。

SQLに関しては以下のサイトでわかりやすく知ることができます。
よろしければご参考までに。

「smart」さん「SQL講座」のページ
http://www.rfs.jp/sb/sql/index.html

「TECHSCORE」さんのページ
http://www.techscore.com/tech/sql/

*customer_idとなっていたところをsend_idに編集しました。
6月5日 中西
ゲスト
投稿日時: 2007/6/4 12:14
対応状況: −−−
Re: メールマガジンが動作しない。
お忙しいところご親切に回答いただきありがとうございました。
今後もよろしくお願いいたします。
nakanishi
投稿日時: 2007/6/4 14:45
対応状況: −−−
EC-CUBE開発チーム
登録日: 2007/5/22
居住地:
投稿: 18
Re: メールマガジンが動作しない。
こちらこそEC-CUBEをご利用いただきましてありがとうございます。
今後もEC-CUBEに関する疑問や不具合などありましたら
遠慮なくご投稿くださいませ。
今後もEC-CUBEをよろしくお願いいたします。
« 1 (2)
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


EC-CUBE公式 Amazon Payプラグイン

統計情報

総メンバー数は90,065名です
総投稿数は110,304件です

投稿数ランキング

1
seasoft
7369
2
468
3217
3
AMUAMU
2712
4
nanasess
2314
5
umebius
2085
6
yuh
1819
7
h_tanaka
1680
8
red
1571
9
mcontact
1348
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
799
14 ramrun 789
15 karin 689
16 sumida 641
17
homan
633
18 DELIGHT 572
19
patapata
502
20
flealog
485


ネットショップの壺

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

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