メール

このページでは a-blog cms を利用される上でよくはまるトラブルとその解決方法についてご紹介しています。

メール

目次

メールが届かない


a-blog cms では、パスワードリセットやメール認証、フォーム通知などにメール送信機能が利用されています。
しかし、送信元ドメイン認証(SPF・DKIM・DMARC)の強化により、設定によってはメールが届かない・迷惑メール扱いになることがあります。

この問題は、管理画面から送信元アドレスを正しいものに変更することで解決できますが、
ログインできない場合にはデータベースを直接修正する必要があります。

管理画面から送信元アドレスを変更する方法(ログインできる場合)

  1. 管理画面にログインします。

  2. コンフィグ > メール設定 または「フォーム設定」画面を開きます。

  3. 「送信元メールアドレス(From)」の項目を、実際に利用しているメールサーバーのドメインに一致するアドレスへ変更します。
    例:

    • × info@example.com

    • info@yourdomain.jp(実際にメール送信できるアドレス)

  4. 設定を保存し、テスト送信を行って動作を確認します。
    SMTP送信を利用している場合は、SPF/DKIM 認証が通るアドレスであれば問題なく届くようになります。


ログインできない場合の対処方法

パスワードリセットメールやメール認証メールが届かず管理画面に入れない場合は、
設定をファイルやデータベースから直接修正することが可能です。

メール機能ごとの設定キー一覧

a-blog cms では、メール機能ごとに送信元アドレスを個別に保持しています。
設定値は private/config.system.yaml とデータベース(acms_config テーブル)で共通のキーを使用しています。
まず、どのメール機能の設定を変更する必要があるかを確認してください。

機能

config_key

パスワードリセット(管理者ログイン)

mail_reset_password_from

管理ログインメール認証

mail_auth_login_from

private/config.system.yaml を編集

管理画面にログインできず、かつ「コンフィグ > メール設定」を一度も保存したことがない場合、
private/config.system.yaml を修正することで送信元アドレスやSMTP設定を変更できます。

手順

  1. ファイルを開く
    CMSの設置ディレクトリ内にある private/config.system.yaml をテキストエディタで開きます。

  2. 設定を追記または修正
    対象のメール機能の設定キーをもとに、以下のように値を追加または上書きします。

    mail_reset_password_from: info@yourdomain.jp
    
    # SMTP 設定
    mail_smtp-host: smtp.gmail.com
    mail_smtp-port: 587
    mail_smtp-user: info@yourdomain.jp
    mail_smtp-pass: your-password-here
  3. キャッシュの削除
    cache ディレクトリ内にあるファイル(.htaccess以外)を削除後、ブラウザを再読み込みし、パスワードリセットやメール認証を再試行してください

データベースを直接編集

パスワードリセットメールやメール認証メールが届かず管理画面に入れない場合は、
データベース内の設定値を直接修正することで送信元アドレスを変更できます。

手順

  1. データベースに接続

    • phpMyAdmin または MySQL クライアントなどを使用します。

    • CMSで使用しているデータベース(config.server.php に記載)に接続します。

  2. 対象の設定を確認

    • 送信元アドレスは、acms_config テーブルに保存されています。

    • 下記のようなクエリで現在の値を確認します:

      SELECT config_value
      FROM acms_config
      WHERE config_key = 'mail_reset_password_from';
  3. 送信元アドレスを更新

    • 実際に利用しているドメイン(例:yourdomain.jp)のメールアドレスに変更します。

      UPDATE acms_config
      SET config_value = 'info@yourdomain.jp'
      WHERE config_key = 'mail_reset_password_from';
  4. SMTP設定を利用している場合

    • 必要に応じて、同様にSMTP設定の項目も修正します。

      -- SMTPホスト名
      UPDATE acms_config
      SET config_value = 'smtp.gmail.com'
      WHERE config_key = 'mail_smtp-host';
      
      -- SMTPポート番号
      UPDATE acms_config
      SET config_value = '587'
      WHERE config_key = 'mail_smtp-port';
      
      -- SMTPユーザー名
      UPDATE acms_config
      SET config_value = 'info@yourdomain.jp'
      WHERE config_key = 'mail_smtp-user';
      
      -- SMTPパスワード
      UPDATE acms_config
      SET config_value = 'your-password-here'
      WHERE config_key = 'mail_smtp-pass';
  5. キャッシュを削除する

    • コンフィグキャッシュに file を指定している場合
      cache ディレクトリ内にあるファイル(.htaccess以外)を削除後、ブラウザを再読み込みし、パスワードリセットやメール認証を再試行してください

    • コンフィグキャッシュに database を指定している場合
      acms_cache_data 及び acms_cache_tag デーブルのデータを削除してください。

    • コンフィグキャッシュに redisを指定している場合
      redis のキャッシュをクリアして下さい。