ITOBEN STYLE > EC-CUBEのメールサーバの設定によりエラーメール(リターンメール・バウンズメール)の処理 2014年9月4日カテゴリー:未分類 EC-CUBEのメールサーバの設定によりエラーメール(リターンメール・バウンズメール)の処理 ★EC-CUBE2.12系から仕様変更されました。 購入手続きが完了すると、利用者に自動配信メールが送信されます。 メールアドレスの記述ミス等で、自動配信メールが相手方に届かない場合は、Mail Delivery Systemのエラーメールが管理者に戻ってきてほしいところですが、EC-CUBEの通常インストールではエラーメールは戻ってきません。 インストール時のオプション設定(メールサーバの設定)を行わないでインストールすると、メーラーバックエンドは「mail」が選択された状態でインストールされます。 メーラーバックエンドが「mail」の状態なので、エラーメールが戻ってこないわけです。 そこで、既にインストールされているEC-CUBEを、SMTPまたはsendmailに変更します。 SMTPとsendmailはサーバ機能に依存しているので、利用中のサーバ(メールサーバ)情報が必要になります。 「mail」ではPHPだけでメール送受信の処理が完結できることもあり、EC-CUBEではデフォルトが「mail」になっているのだと思います。 (1)SMTPに変更する インストール時に生成される下記ファイルをダウンロードし修正します。 ■data/config/config.php [php] define(‘MAIL_BACKEND’, ‘smtp’); define(‘SMTP_HOST’, ‘■■■’); define(‘SMTP_PORT’, ‘○○○’); define(‘SMTP_USER’, ‘▼▼▼’); define(‘SMTP_PASSWORD’, ‘△△△’); [/php] MAIL_BACKEND → smtp SMTP_HOST以降については、利用しているのメールソフトを開き下図の箇所を確認し入力します。 (下図はWindows Live メール) 【注意】 管理画面の基本情報管理>SHOPマスターで、メールアドレスを変更するときは、再度■data/config/config.phpを確認する必要があります。 (2)sendmailに変更する ① ■data/config/config.php [php] define(‘MAIL_BACKEND’, ‘sendmail’); define(‘SMTP_HOST’, ”); define(‘SMTP_PORT’, ”); define(‘SMTP_USER’, ”); define(‘SMTP_PASSWORD’, ”); [/php] MAIL_BACKEND → sendmail SMTP_HOST以降は入力しない。 ② 次に利用しているサーバのsendmailパスを確認し、サーバのsendmailパスを設定しなければいけません。 EC-CUBEでは、/usr/bin/sendmailが設定されているので、仮にサーバのsendmailパスが/usr/sbin/sendmailに設定されている場合は変更する必要があります。 変更方法は次の通りです。 ■data/class/SC_SendMail.php 344行目付近 【変更前】 [php] ‘sendmail_path’ => ‘/usr/bin/sendmail’, [/php] 【変更後】 [php] ‘sendmail_path’ => ‘/usr/sbin/sendmail’, [/php] 【注意】 管理画面の基本情報管理>SHOPマスターで、メールアドレスを変更するときは、再度■data/class/SC_SendMail.phpを確認する必要があります。 ▼最後にメールの送受信が正常に行われるか確認する必要があります。 (1)正しいメールアドレスで購入手続きを完了する。 (2)管理者に自動メールが配信される。 (3)購入者に自動メールが配信される。 (4)誤ったメールアドレスで購入手続きを完了する。 (5)管理者に自動メールが配信される。 (6)管理者にエラーメールが配信される。 「mail」または「sendmail」を選択すると、送信者メールアドレスのドメインのSPFレコードにEC-CUBEをインストールしたサーバーが登録されていない場合、自動送信メールが送信先メールサーバーでなりすましメールと判定されるなどして相手に届かない可能性があります。
★EC-CUBE2.12系から仕様変更されました。
購入手続きが完了すると、利用者に自動配信メールが送信されます。
メールアドレスの記述ミス等で、自動配信メールが相手方に届かない場合は、Mail Delivery Systemのエラーメールが管理者に戻ってきてほしいところですが、EC-CUBEの通常インストールではエラーメールは戻ってきません。
インストール時のオプション設定(メールサーバの設定)を行わないでインストールすると、メーラーバックエンドは「mail」が選択された状態でインストールされます。
メーラーバックエンドが「mail」の状態なので、エラーメールが戻ってこないわけです。
そこで、既にインストールされているEC-CUBEを、SMTPまたはsendmailに変更します。
SMTPとsendmailはサーバ機能に依存しているので、利用中のサーバ(メールサーバ)情報が必要になります。
「mail」ではPHPだけでメール送受信の処理が完結できることもあり、EC-CUBEではデフォルトが「mail」になっているのだと思います。
(1)SMTPに変更する
インストール時に生成される下記ファイルをダウンロードし修正します。
■data/config/config.php
[php]
define(‘MAIL_BACKEND’, ‘smtp’);
define(‘SMTP_HOST’, ‘■■■’);
define(‘SMTP_PORT’, ‘○○○’);
define(‘SMTP_USER’, ‘▼▼▼’);
define(‘SMTP_PASSWORD’, ‘△△△’);
[/php]
MAIL_BACKEND → smtp
SMTP_HOST以降については、利用しているのメールソフトを開き下図の箇所を確認し入力します。
(下図はWindows Live メール)
【注意】
管理画面の基本情報管理>SHOPマスターで、メールアドレスを変更するときは、再度■data/config/config.phpを確認する必要があります。
(2)sendmailに変更する
① ■data/config/config.php
[php]
define(‘MAIL_BACKEND’, ‘sendmail’);
define(‘SMTP_HOST’, ”);
define(‘SMTP_PORT’, ”);
define(‘SMTP_USER’, ”);
define(‘SMTP_PASSWORD’, ”);
[/php]
MAIL_BACKEND → sendmail
SMTP_HOST以降は入力しない。
② 次に利用しているサーバのsendmailパスを確認し、サーバのsendmailパスを設定しなければいけません。
EC-CUBEでは、/usr/bin/sendmailが設定されているので、仮にサーバのsendmailパスが/usr/sbin/sendmailに設定されている場合は変更する必要があります。
変更方法は次の通りです。
■data/class/SC_SendMail.php 344行目付近
【変更前】
[php]
‘sendmail_path’ => ‘/usr/bin/sendmail’,
[/php]
【変更後】
[php]
‘sendmail_path’ => ‘/usr/sbin/sendmail’,
[/php]
【注意】
管理画面の基本情報管理>SHOPマスターで、メールアドレスを変更するときは、再度■data/class/SC_SendMail.phpを確認する必要があります。
▼最後にメールの送受信が正常に行われるか確認する必要があります。
(1)正しいメールアドレスで購入手続きを完了する。
(2)管理者に自動メールが配信される。
(3)購入者に自動メールが配信される。
(4)誤ったメールアドレスで購入手続きを完了する。
(5)管理者に自動メールが配信される。
(6)管理者にエラーメールが配信される。