Article ID: 119947, created on Apr 21, 2015, last review on Apr 21, 2015

  • Applies to:
  • Plesk for Linux/Unix
  • Plesk for Windows

Symptômes

Lors de la création d'un utilisateur depuis le Panneau de contrôle du domaine, l'erreur suivante se produit :

Error: There is no DSMail service for domain with id = 1

Cause

Dans la base de données psa, un domaine inclus dans l'un des abonnements ne contient pas l'entrée du service "Mail".

Résolution

  1. Exécutez /usr/local/psa/admin/sbin/autoinstaller et assurez-vous que tous les composants ont été installés.

  2. Essayez d'activer le service Mail pour le domaine via la CLI.

    /usr/local/psa/bin/domain --update domain.tld -mail_service true
    

Si cela ne permet pas de résoudre le problème, allez à l'étape 3.

  1. Vérifiez s'il y a des incohérences dans la base de données psa. domain.tld correspond au nom de l'abonnement que vous essayiez de parcourir lorsque l'erreur s'est produite.
mysql> set @dom:='domain.tld';

mysql> select * from DomainServices where dom_id in ((select id from domains where name = @dom),(select id from domains where webspace_id=(select id from domains where name = @dom)));
+----+--------+------+--------+---------------+----------------+
| id | dom_id | type | status | parameters_id | ipCollectionId |
+----+--------+------+--------+---------------+----------------+
|  1 |      1 | web  |      0 |             0 |              1 |
|  4 |      3 | mail |      0 |             2 |              4 |
|  5 |      3 | web  |      0 |             0 |              5 |
+----+--------+------+--------+---------------+----------------+
3 rows in set (0.00 sec)

Dans le résultat de la requête ci-dessus, nous voyons qu'un domaine avec 'id' = 1 n'a pas d'entrée pour le service mail. Afin de résoudre ce problème, vous devez ajouter cette entrée.

    mysql> begin; insert into IpCollections value();
    Query OK, 1 row affected (0.00 sec)

    mysql> select * from IpCollections;
    +----+
    | id |
    +----+
    |  1 |
    |  4 |
    |  5 |
    |  6 |
    +----+
    4 rows in set (0.00 sec)

    mysql> select * from IP_Addresses;
    +----+---------------+---------------+-----------------+--------+--------------------+-------------------+-------+------+--------+-------------------+
    | id | serviceNodeId | ip_address    | mask            | iface  | ssl_certificate_id | default_domain_id | ftps  | main | status | public_ip_address |
    +----+---------------+---------------+-----------------+--------+--------------------+-------------------+-------+------+--------+-------------------+
    |  1 |             1 | 1.2.3.4 | 255.255.255.128 | venet0 |                  1 |                 1 | false | true |      0 | NULL              |
    +----+---------------+---------------+-----------------+--------+--------------------+-------------------+-------+------+--------+-------------------+
    1 row in set (0.00 sec)

    mysql> insert into IpAddressesCollections values (6,1);
    Query OK, 1 row affected (0.00 sec)

    mysql> select max(id) from Parameters;
    +---------+
    | max(id) |
    +---------+
    |      14 |
    +---------+
    1 row in set (0.00 sec)

    mysql> INSERT INTO `Parameters` VALUES (15,'mailProviderInstanceId','');
    mysql> INSERT INTO `Parameters` VALUES (15,'mailProviderType','local');
    mysql> INSERT INTO `Parameters` VALUES (15,'mailProviderUid','local');
    mysql> INSERT INTO `Parameters` VALUES (15,'nonexist_mail','reject');

    mysql> INSERT INTO DomainServices (dom_id,type,status,parameters_id,ipCollectionId) VALUES (1,'mail',0,15,6);
    Query OK, 1 row affected (0.03 sec)

    mysql> commit;
    Query OK, 0 rows affected (0.01 sec)
  1. Si la structure maildir n'existe pas, créez-la.
mkdir /var/qmail/mailnames/domain.tld

a914db3fdc7a53ddcfd1b2db8f5a1b9c 56797cefb1efc9130f7c48a7d1db0f0c 29d1e90fd304f01e6420fbe60f66f838 85a92ca67f2200d36506862eaa6ed6b8

Email subscription for changes to this article
Save as PDF