2022/04/29
ECCUBE4でXSERVERのメールアドレスが使えない対策
ECCUBE4でXSERVERの作成したメールアドレスが使用出来ない事があったので、そちらの備忘録です。
現象としては、一般的なメールアドレスにはメールが送れているのですが、gmail宛にだけは送信されませんでした。
原因の特定には時間が掛かりそうだった為、今回はわかっておりません。
gmail宛に送信出来ない時の設定
次のように.envにSMTPの設定をしていました。
※値はダミーです。
MAILER_URL=smtp://sv1234.xbiz.ne.jp:465?encryption=ssl&username=test@example.xbiz.jp&password=abcd1234
一般的なメールアドレスには送信出来ますが、gmail宛には送れていません。
恐らくですが、gmail側で怪しいメールと判定されて拒絶されている可能性あり?
対策を行った時の設定
変更を行ったのは次の2つのファイルです。
- .env
- app/config/eccube/packages/swiftmailer.yaml
.envの内容
「MAILER_URL」をコメントにし、1行ずつパラメータを設定
#MAILER_URL=smtp://sv1234.xbiz.ne.jp:465?encryption=ssl&username=test@example.xbiz.jp&password=abcd1234
# ↓ここから追加
MAILER_TRANSPORT=smtp
MAILER_HOST=sv1234.xbiz.ne.jp
MAILER_PORT=465
MAILER_USERNAME=test@example.xbiz.jp
MAILER_PASSWORD=abcd1234
MAILER_ENCRYPTION=ssl
MAILER_SENDER_ADDRESS=test@example.xbiz.jp
# ↑ここまで
app/config/eccube/packages/swiftmailer.yamlの内容
「swiftmailer.url」をコメントにし、1行ずつパラメータを設定
parameters:
env(MAILER_URL): ''
swiftmailer:
# url: '%env(MAILER_URL)%'
# ↓ここから追加
transport: '%env(MAILER_TRANSPORT)%'
host: '%env(MAILER_HOST)%'
port: '%env(MAILER_PORT)%'
username: '%env(MAILER_USERNAME)%'
password: '%env(MAILER_PASSWORD)%'
encryption: '%env(MAILER_ENCRYPTION)%'
sender_address: '%env(MAILER_SENDER_ADDRESS)%'
# ↑ここまで
spool: { type: 'memory' }
以上になります。
ここで大事なのでは、MAILER_USERNAMEとMAILER_SENDER_ADDRESSを一致させる必要があります。
MAILER_SENDER_ADDRESSに適当なメールアドレスを入力していると、gmailで受け取る事が出来ないようです。
ちなみに、MAILER_URLを使用しないのは、MAILER_URLに「sender_address」を記述してもgmailにメールが送れなかった為です。
私の設定の仕方が悪かったのかもしれませんが….
蛇足です。
原因の特定はできていませんが、次の2つの可能性があります。
- .envの「MAILER_URL」の設定の仕方が間違っている
- swiftmailer自体に問題がある
メーラーにSMTPの設定をして送信をした際には正常にgmailに送信ができていました。
その為、メールアカウントに問題がある訳ではないと思われます。
この辺り詳しい方が居たら是非ご教授頂きたいです。