株式会社NextCodeのロゴ株式会社NextCode

BLOG

ブログ

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_USERNAMEMAILER_SENDER_ADDRESS一致させる必要があります。

MAILER_SENDER_ADDRESSに適当なメールアドレスを入力していると、gmailで受け取る事が出来ないようです。

ちなみに、MAILER_URLを使用しないのは、MAILER_URLに「sender_address」を記述してもgmailにメールが送れなかった為です。

私の設定の仕方が悪かったのかもしれませんが….

蛇足です。

原因の特定はできていませんが、次の2つの可能性があります。

  • .envの「MAILER_URL」の設定の仕方が間違っている
  • swiftmailer自体に問題がある

メーラーにSMTPの設定をして送信をした際には正常にgmailに送信ができていました。

その為、メールアカウントに問題がある訳ではないと思われます。

この辺り詳しい方が居たら是非ご教授頂きたいです。

TOPへ移動
PAGE
TOP
%d人のブロガーが「いいね」をつけました。