Article ID: 119947, created on Nov 28, 2014, last review on Nov 28, 2014

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

Síntomas

Cuando se crea un usuario a través del panel de control del dominio, se obtiene el siguiente error:

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

Causa

En la base de datos psa no se encuentra la entrada del servicio de correo para un dominio para una de las suscripciones.

Resolución

  1. Ejecute '/usr/local/psa/admin/sbin/autoinstaller' y compruebe que tiene instalados todos los componentes.

  2. Intente activar el servicio de correo para el dominio a través de CLI

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

Si esto no le ayuda a solucionar el problema, vaya al paso 3:

  1. Examine la base de datos psa y cerciórese de que no existe ninguna incoherencia. 'domain.tld' es el nombre de la suscripción que estaba examinando cuando se obtuvo el error.

    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)
    

En el resultado de esta petición puede ver que un dominio con 'id' = 1 no tiene ninguna entrada para el servicio 'mail'. Para resolver el problema, añada esta entrada.

    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. Cree el maildir de forma manual, de no existir:

    mkdir /var/qmail/mailnames/domain.tld
    

a914db3fdc7a53ddcfd1b2db8f5a1b9c 56797cefb1efc9130f7c48a7d1db0f0c 29d1e90fd304f01e6420fbe60f66f838 85a92ca67f2200d36506862eaa6ed6b8

Email subscription for changes to this article
Save as PDF