メールが届かない
a-blog cms では、パスワードリセットやメール認証、フォーム通知などにメール送信機能が利用されています。
しかし、送信元ドメイン認証(SPF・DKIM・DMARC)の強化により、設定によってはメールが届かない・迷惑メール扱いになることがあります。
この問題は、管理画面から送信元アドレスを正しいものに変更することで解決できますが、
ログインできない場合にはデータベースを直接修正する必要があります。
管理画面から送信元アドレスを変更する方法(ログインできる場合)
管理画面にログインします。
コンフィグ > メール設定 または「フォーム設定」画面を開きます。
「送信元メールアドレス(From)」の項目を、実際に利用しているメールサーバーのドメインに一致するアドレスへ変更します。
例:×
info@example.com
○
info@yourdomain.jp
(実際にメール送信できるアドレス)
設定を保存し、テスト送信を行って動作を確認します。
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設定を変更できます。
手順
ファイルを開く
CMSの設置ディレクトリ内にあるprivate/config.system.yaml
をテキストエディタで開きます。設定を追記または修正
対象のメール機能の設定キーをもとに、以下のように値を追加または上書きします。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
キャッシュの削除
cache ディレクトリ内にあるファイル(.htaccess以外)を削除後、ブラウザを再読み込みし、パスワードリセットやメール認証を再試行してください
データベースを直接編集
パスワードリセットメールやメール認証メールが届かず管理画面に入れない場合は、
データベース内の設定値を直接修正することで送信元アドレスを変更できます。
手順
データベースに接続
phpMyAdmin または MySQL クライアントなどを使用します。
CMSで使用しているデータベース(
config.server.php
に記載)に接続します。
対象の設定を確認
送信元アドレスは、
acms_config
テーブルに保存されています。下記のようなクエリで現在の値を確認します:
SELECT config_value FROM acms_config WHERE config_key = 'mail_reset_password_from';
送信元アドレスを更新
実際に利用しているドメイン(例:
yourdomain.jp
)のメールアドレスに変更します。UPDATE acms_config SET config_value = 'info@yourdomain.jp' WHERE config_key = 'mail_reset_password_from';
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';
キャッシュを削除する
コンフィグキャッシュに file を指定している場合
cache ディレクトリ内にあるファイル(.htaccess以外)を削除後、ブラウザを再読み込みし、パスワードリセットやメール認証を再試行してくださいコンフィグキャッシュに database を指定している場合
acms_cache_data
及びacms_cache_tag
デーブルのデータを削除してください。コンフィグキャッシュに redisを指定している場合
redis のキャッシュをクリアして下さい。