Plesk でドメインに対して[メール]タブが表示されません

Created:

2016-11-16 13:19:11 UTC

Modified:

2017-08-16 14:13:26 UTC

1

Was this article helpful?


Have more questions?

リクエストを送信

Plesk でドメインに対して[メール]タブが表示されません

Applicable to:

  • Plesk for Windows
  • Plesk for Linux

症状

  1. Plesk でドメインに対して[メール]タブが表示されません。

  2. 以下のようなエラーが Plesk に表示されます。

    PleskFatalException: domain is not set!
  3. [メール]タブは存在しますが、これをクリックすると Plesk に以下のメッセージが表示されます。

     Warning: Permission denied

原因

  1. この契約は、メールサーバをインストールする前に作成されました。そのため、このサービスエントリがデータベースにありません。

  2. データベースの不整合

  3. メール管理機能が Plesk で有効化されていません。

解決策

  1. Plesk コントロールパネルの [Tools & Settings]>[Mail]>[Mail Server Settings] でオプション [Enable mail management functions in Plesk] をチェックするか、以下のようにコマンドライン経由でドメインに対してメールサービスをアクティブ化します。

Linux

    # /usr/local/psa/bin/domain --update example.com -mail_service true
# /usr/local/psa/bin/domain --info example.com | grep 'Mail service'
Mail service: On

Windows

    "%plesk_dir%\\bin\\domain" --update example.com -mail_service true
"%plesk_dir%\\bin\\domain" --info example.com | findstr /C:"Mail service"
Mail service: On
  1. 問題が解決しなかった場合。以下の手順に従ってください。

    自動修復(Linux)

    • Linux 用のこちらのスクリプト をダウンロードします。

      # wget https://support.plesk.com/hc/article_attachments/115004385649/mail_restore_lin.zip
      # unzip mail_restore_lin.zip
    • 実行可能にします。

      # chmod +x ./mail_restore.sh
    • 引数にドメイン名を指定してスクリプトを実行します。

      # ./mail_restore.sh example.com

    自動修復(Windows)

    • Windows 用のこちらのスクリプト をダウンロードして展開します。

    • PowerShell で引数にドメイン名を指定してスクリプトを実行します。

      PS C:\\> .\\mail_restore.ps1 example.com

    手動での修復(Linux、Windows)

    1. こちらの KB 記事 を参考に、 psa データベースにログインします。

    2. 以下のクエリを実行します。ドメイン名は有効なものに置き換えてください。

      mysql> SELECT @ID:=max(id)+1 FROM psa.Parameters;
      +----------------+
      | @ID:=max(id)+1 |
      +----------------+
      | 6 |
      +----------------+

      mysql> INSERT INTO psa.Parameters VALUES (@ID,'mailProviderInstanceId','');

      mysql> INSERT INTO psa.Parameters VALUES (@ID,'mailProviderType','local');

      mysql> INSERT INTO psa.Parameters VALUES (@ID,'mailProviderUid','local');

      mysql> INSERT INTO psa.Parameters VALUES (@ID,'nonexist_mail','reject');

      mysql> SELECT @IPID:=max(id)+1 FROM psa.IpCollections;
      +------------------+
      | @IPID:=max(id)+1 |
      +------------------+
      | 11 |
      +------------------+

      mysql> INSERT INTO psa.IpCollections VALUES (@IPID);

      mysql> SELECT @DOMID:=d.id,@IP:=ip.ipAddressId
      FROM psa.domains d JOIN psa.DomainServices ds ON d.id=ds.dom_id
      JOIN psa.IpAddressesCollections ip ON ds.ipCollectionId=ip.ipCollectionId
      WHERE d.name='DOMAIN.TLD'; <==================== Only one parameter is needed, domain name.
      +--------------+---------------------+
      | @DOMID:=d.id | @IP:=ip.ipAddressId |
      +--------------+---------------------+
      | 1 | 1 |
      +--------------+---------------------+

      mysql> INSERT INTO psa.IpAddressesCollections VALUES (@IPID, @IP);

      mysql> INSERT INTO psa.DomainServices (dom_id,type,status,parameters_id,ipCollectionId) values (@DOMID,'mail',0,@ID,@IPID);

以下の KB 記事も参考になります。

#213920885 - After Plesk license installation, some buttons are absent in Panel or Plesk interface is changed

Attachments:

他にご質問がございましたら、リクエストを送信してください
ログインしてコメントを残してください。