バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > 管理機能 > メール送信処理について

管理機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
Rights
投稿日時: 2021/6/21 17:08
対応状況: −−−
一人前
登録日: 2019/3/12
居住地:
投稿: 99
メール送信処理について
▼テンプレート
[EC-CUBE] 2.13.5

SMTPを利用して注文や問い合わせメール、メルマガ配信などしていますが、スパムメールでの悪用で、送信に使用しているメールアカウントのパスワードを変更しました。

ECCUBE側で、
/data/config/config.php
/data/module/Mail/smtp.php
に設定しているバスワード変更をしておらず、メールマガジンを配信しましたが、一部の宛先にメールが送信できたという事だったのですが、そのような事が可能なのでしょうか?

管理画面の履歴では、配信数のうち8割が送信済みとなり、残りが配信失敗となっていました。
配信時間帯のログを確認するとほぼ、

2021/XX/XX XX:XX:XX [/admin/mail/index.php] Warning(E_USER_WARNING): メール送信に失敗しました。[ authentication failure [SMTP: Invalid response code received from server (code: 535, response: 5.7.8 Error: authentication failed: XXXXXXXXXXXX)]] on [/data/class/SC_SendMail.php(330)] from XXX.XXX.XXX.XXX

配信済みとなっているものも送信できていないようですが、サーバーから配信済みのステータスを受け取っているという事でしょうか?

そもそも、パスワードが変わっているため、上記のように認証エラーで1通も送信できないと思うのでしょうがサーバー側の問題でしょうか?
Rights
投稿日時: 2021/6/22 14:52
対応状況: −−−
一人前
登録日: 2019/3/12
居住地:
投稿: 99
Re: メール送信処理について
追記です。

dtb_send_historyに配信履歴が残りますが、カラム「send_count」と「complete_count」が一致していませんでした。

管理画面上の「配信済数」と「配信失敗数」の件数と一致しないのですが、なぜでしょうか?

こちらの数は「dtb_send_customer」の配信フラグ(1:送信済、2:送信失敗)を元にした集計で、配信フラグ「1」の総計と「complete_count」の数が一致するはずですが、「complete_count」の方が少ないです。(実際に送信された件数?)

この場合、dtb_send_history の complete_countは何を指すのでしょうか?
例えば配信総数(send_count)が1,000件で、complete_countが500件の場合、配信できたのが500件で失敗が500件になると思うのですが、認識として間違いないでしょうか?

また、再試行の際の所作ですが、配信に失敗した対象のみ再度メール送信を行うという事で良いでしょうか?

「dtb_send_customer」ですが、データとして配信数分のレコードが作成されてそのフラグが1になるか2になるかの取り扱いでしょうか?
※最新の状態のメール送信状況しかわからないという事で良いでしょうか?
Rights
投稿日時: 2021/6/22 15:17
対応状況: −−−
一人前
登録日: 2019/3/12
居住地:
投稿: 99
Re: メール送信処理について
public function sfSendMailmagazine($send_id)
{
$objQuery =& SC_Query_Ex::getSingletonInstance();
$objDb = new SC_Helper_DB_Ex();
$objSite = $objDb->sfGetBasisData();
$objMail = new SC_SendMail_Ex();

$where = 'del_flg = 0 AND send_id = ?';
$arrMail = $objQuery->getRow('*', 'dtb_send_history', $where, array($send_id));

// 対象となる$send_idが見つからない
if (SC_Utils_Ex::isBlank($arrMail)) return;

// 送信先リストの取得
$arrDestinationList = $objQuery->select(
'*',
'dtb_send_customer',
'send_id = ? AND (send_flag = 2 OR send_flag IS NULL)',
array($send_id)
);

// 現在の配信数
$complete_count = $arrMail['complete_count'];
if (SC_Utils_Ex::isBlank($arrMail)) {
$complete_count = 0;
}

foreach ($arrDestinationList as $arrDestination) {
// お名前の変換
$customerName = trim($arrDestination['name']);
$subjectBody = preg_replace('/{name}/', $customerName, $arrMail['subject']);
$mailBody = preg_replace('/{name}/', $customerName, $arrMail['body']);

$objMail->setItem(
$arrDestination['email'],
$subjectBody,
$mailBody,
$objSite['email03'], // 送信元メールアドレス
$objSite['shop_name'], // 送信元名
$objSite['email03'], // reply_to
$objSite['email04'], // return_path
$objSite['email04'] // errors_to
);

// テキストメール配信の場合
if ($arrMail['mail_method'] == 2) {
$sendResut = $objMail->sendMail();
// HTMLメール配信の場合
} else {
$sendResut = $objMail->sendHtmlMail();
}

// 送信完了なら1、失敗なら2をメール送信結果フラグとしてDBに挿入
if (!$sendResut) {
$sendFlag = '2';
} else {
// 完了を 1 増やす
$sendFlag = '1';
$complete_count++;
}

sned_flag = '1' と $complete_countの増分処理を同じ箇所で行っていることから、

●現在「dtb_send_history」に残っている「complete_count」に残っている送信数分、「dtb_send_customer」で「send_flag」が"2"だった配信先に送信して送信済みになった。
という解釈で良いのでしょうか?
coremobile
投稿日時: 2021/12/11 20:07
対応状況: −−−
長老
登録日: 2018/8/30
居住地:
投稿: 186
Re: メール送信処理について
エラー内容はSMTP: Invalid response code received from server (code: 535, response: 5.7.8 Error: authentication failed: XXXXXXXXXXXX)とのことなのでメール送信時に 
SMTPサーバからエラーが返ってきている状態です。
SMTP送信するアカウントのID、PWなど間違っておりませんでしょうか?
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


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

統計情報

総メンバー数は88,307名です
総投稿数は109,692件です

投稿数ランキング

1
seasoft
7365
2
468
3217
3
AMUAMU
2712
4
nanasess
2303
5
umebius
2085
6
yuh
1818
7
h_tanaka
1610
8
red
1568
9
mcontact
1240
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
796
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.