How to check if external mail feature is enabled in an event listener (backend)?

  • Hello,
    I've a listener changing MX settings and running into a problem when external mailserver is set. How do I check if external mailserver is enabled for domain ?


    Thanks in advace !

  • @merlin81



    found in the forums, should be $data->{'MAIL_ENABLED'}

    No ;)


    See

    To resume, if you want know if the external mail feature is enabled for a domain

    Perl
    1. if($data->{'EXTERNAL_MAIL'} eq 'on') {
    2. # Do something when external mail feature is enabled
    3. }

    See also: https://github.com/i-MSCP/imsc…rvers/mta/postfix.pm#L373

    badge.php?id=1239063037&bid=2518&key=1747635596&format=png&z=547451206

  • this gives me a warning in 1.5.1


    Listener::Named::OverrideDefaultMXRecords::__ANON__: Use of uninitialized value in string eq at /etc/imscp/listeners.d/11_named_override_default_mx_rr.pl

  • this gives me a warning in 1.5.1


    Listener::Named::OverrideDefaultMXRecords::__ANON__: Use of uninitialized value in string eq at /etc/imscp/listeners.d/11_named_override_default_mx_rr.pl

    Show us your listener...

    badge.php?id=1239063037&bid=2518&key=1747635596&format=png&z=547451206

  • sorry for the late response, missed that.

  • @merlin81


    This occurs when the zone for the control panel is processed, in which case the EXTERNAL_MAIL attribute is not defined. Well, you can change the statement as follows:


    Perl
    1. ...
    2. if ( defined $data->{'EXTERNAL_MAIL'} && $data->{'EXTERNAL_MAIL'} eq 'on' ) {
    3. ...

    badge.php?id=1239063037&bid=2518&key=1747635596&format=png&z=547451206