バージョン2.4.2
EC-CUBEフォーラムで直りました。ありがとうございます。
http://xoops.ec-cube.net/modules/newbb/viewtopic.php?viewmode=flat&order=ASC&topic_id=6664&forum=11
Re: お客様への注文確認メール、お問い合わせ確認メールが届きません(お名前共有SDサーバー使用)
解決いたしました。
今、問題なく注文者への注文確認メールも来ました。
本当にありがとうございました。
全体的にお名前共有SDサーバを使用する際は下記手順となりました。
①
http://make-fun.seesaa.net/article/159033559.html
より抜粋
---------------------------------------------------ここから
● dataフォルダ/class/SC_SendMail.php の修正
以下のようにsendMail() の部分を修正しました。
function sendMail() {
$header = $this->getTEXTHeader();
$recip = $this->getRecip();
$mailObject = Mail::factory("mail"); // お名前.com用
// メール送信
if (is_array($recip)) {
foreach ($recip as $rcpt_to) {
// $results[] = $this->objMail->send($rcpt_to, $header, $this->body);
$results[] = $mailObject->send($rcpt_to, $header, $this->body); // お名前.com用
}
} else {
// $results[] = $this->objMail->send($recip, $header, $this->body);
$results[] = $mailObject->send($recip, $header, $this->body); // お名前.com用
}
$ret = true;
foreach ($results as $result) {
if (PEAR::isError($result)) {
GC_Utils_Ex::gfPrintLog($result->getMessage());
GC_Utils_Ex::gfDebugLog($header);
$ret = false;
}
}
return $ret;
}
---------------------------------------------------ここまで
②
data/module/Mail/smtp.php
---------------------------------------------------ここから
/**
* SMTP connection object.
*
* @var object
* @access private
*/
var $_smtp = null;
/**
* The SMTP host to connect to.
* @var string
*/
var $host = 'smtp.gmoserver.jp';
/**
* The port the SMTP server is on.
* @var integer
*/
var $port = 587;
/**
* Should SMTP authentication be used?
*
* This value may be set to true, false or the name of a specific
* authentication method.
*
* If the value is set to true, the Net_SMTP package will attempt to use
* the best authentication method advertised by the remote SMTP server.
*
* @var mixed
*/
var $auth = true;
/**
* The username to use if the SMTP server requires authentication.
* @var string
*/
var $username = 'お名前のメールアドレスusername';
/**
* The password to use if the SMTP server requires authentication.
* @var string
*/
var $password = 'お名前のメールアドレスパスワード';
/**
* Hostname or domain that will be sent to the remote SMTP server in the
* HELO / EHLO message.
*
* @var string
*/
var $localhost = 'localhost';
---------------------------------------------------ここまで
③
ECcube システム設定→パラメータ設定
MAIL_BACKEND "smtp"
SMTP_HOST "smtp.gmoserver.jp"
SMTP_PORT "587"
以上によりすべてのメールが送信されるようになりました。
55eccube様ありがとうございました。
今、問題なく注文者への注文確認メールも来ました。
本当にありがとうございました。
全体的にお名前共有SDサーバを使用する際は下記手順となりました。
①
http://make-fun.seesaa.net/article/159033559.html
より抜粋
---------------------------------------------------ここから
● dataフォルダ/class/SC_SendMail.php の修正
以下のようにsendMail() の部分を修正しました。
function sendMail() {
$header = $this->getTEXTHeader();
$recip = $this->getRecip();
$mailObject = Mail::factory("mail"); // お名前.com用
// メール送信
if (is_array($recip)) {
foreach ($recip as $rcpt_to) {
// $results[] = $this->objMail->send($rcpt_to, $header, $this->body);
$results[] = $mailObject->send($rcpt_to, $header, $this->body); // お名前.com用
}
} else {
// $results[] = $this->objMail->send($recip, $header, $this->body);
$results[] = $mailObject->send($recip, $header, $this->body); // お名前.com用
}
$ret = true;
foreach ($results as $result) {
if (PEAR::isError($result)) {
GC_Utils_Ex::gfPrintLog($result->getMessage());
GC_Utils_Ex::gfDebugLog($header);
$ret = false;
}
}
return $ret;
}
---------------------------------------------------ここまで
②
data/module/Mail/smtp.php
---------------------------------------------------ここから
/**
* SMTP connection object.
*
* @var object
* @access private
*/
var $_smtp = null;
/**
* The SMTP host to connect to.
* @var string
*/
var $host = 'smtp.gmoserver.jp';
/**
* The port the SMTP server is on.
* @var integer
*/
var $port = 587;
/**
* Should SMTP authentication be used?
*
* This value may be set to true, false or the name of a specific
* authentication method.
*
* If the value is set to true, the Net_SMTP package will attempt to use
* the best authentication method advertised by the remote SMTP server.
*
* @var mixed
*/
var $auth = true;
/**
* The username to use if the SMTP server requires authentication.
* @var string
*/
var $username = 'お名前のメールアドレスusername';
/**
* The password to use if the SMTP server requires authentication.
* @var string
*/
var $password = 'お名前のメールアドレスパスワード';
/**
* Hostname or domain that will be sent to the remote SMTP server in the
* HELO / EHLO message.
*
* @var string
*/
var $localhost = 'localhost';
---------------------------------------------------ここまで
③
ECcube システム設定→パラメータ設定
MAIL_BACKEND "smtp"
SMTP_HOST "smtp.gmoserver.jp"
SMTP_PORT "587"
以上によりすべてのメールが送信されるようになりました。
55eccube様ありがとうございました。