nice way to allow non-local email

Discussion in 'Feature Requests' started by jdell, Oct 10, 2006.

  1. jdell

    jdell New Member


    I love ISPConfig! Thanks for a great product!

    Most of our websites use local email, but we have a few domains that have web on ISPConfig, but email somewhere else.

    We do not use ISPConfig for DNS, so the only way I've found to make email (sent from ISPConfig server) get delivered properly (for non-local email domains) is to add domains to line 44 of:


    This works, but isn't very graceful, and will break with upgrade. I was thinking that an option in the UI that specifies 'non-local email' or 'web only - no email' would be nice (presumably this would also disable the email portion of the site admin UI).

    Please let me know your thoughts or if there is already a better way to handle this.

    Last edited: Oct 10, 2006
  2. jdell

    jdell New Member

    2.3.1-dev feature maybe handles this?

    I was just reading the release notes for 2.3.1-dev:

    - Update: Check if local server is in the list of mx hosts of a domain, otherwise
    automatically change value to external mailserver.

    Seems like this would solve my problem and is a better solution than my suggestion.

    Does this sound right? If yes, any chance to backport that change to the 2.2.x series?
  3. till

    till Super Moderator Staff Member ISPConfig Developer

    This functionality is already present in all ISPConfig 2.x releases, just set the mailserver to external in the website settings and in all co-domains of this website :)
  4. jdell

    jdell New Member

    Doh! I don't know how I missed that. Thanks a bunch!
  5. jdell

    jdell New Member

    doesn't seem to be working...

    Ok, well, maybe I spoke too soon.

    I changed /root/ispconfig/scripts/lib/classes/ispconfig_postfix.lib.php back to normal, and restarted ISPConfig, then changed some domains to 'external mailserver' in the options tab, but now all the domains (including the 'external mailserver' domains) are now showing up in /etc/postfix/local-host-names

    Am I missing something? This seems broken to me. :confused:
  6. till

    till Super Moderator Staff Member ISPConfig Developer

    I've tested it in 2.2.6 and 2.2.7 and it works for me. All domains / websites that are set to external mailserver dont show up in local-host-names anymore. If you cxhange anything in the interface, are the changes written to the config files at all, maybe one of the lock files is set or you have a typo in one of the .php scripts you changed?
  7. gripner

    gripner New Member

    I have the same problem

    For the sites that i have selected external mailserver they STILL show up in my local-host-names file.
    I have not changed any of ISPConfigs files

    Any ideas ?
  8. falko

    falko Super Moderator ISPConfig Developer

    You must set the mail server to "External" for the Co-Domains and also for the main web site domain (for the main domain you can find it on the "Options" tab, for the Co-Domains it's under Co-Domains -> Options).
  9. gripner

    gripner New Member

    I have set em all to external, still the domain is added to local-host-names

    and i dont have any special stuff on my install, just a normal ubuntu server 6.01 and ispconfig
  10. till

    till Super Moderator Staff Member ISPConfig Developer

  11. falko

    falko Super Moderator ISPConfig Developer

  12. jdell

    jdell New Member

    this problem still exists - UI update of DB is broken

    Sorry I took so long to reply here, I got busy with other projects.

    I upgraded to 2.2.8, and noticed this problem is still present. I decided to dig in further and discovered that in the database, isp_isp_domain.domain_local_mailserver is always set to '1' regardless of whether the UI is specifying 'external mailserver' or 'local mailserver'. When I change this db flag to '0', then add/delete a test domain to regenerate /etc/postfix/local-host-names, the domains with '0' are now excluded (as expected).

    So, it seems that the UI to update the database value is broken (at least for english locale).

    I'm not familiar enough with ISPConfig to know where to look for that, but maybe I'll have a look around later to see what I can find. In the meantime, I'm still using manually adding domains on line 44 of /root/ispconfig/scripts/lib/classes/ispconfig_postfix.lib.php
    to the $sendmail_exclude_domains list as a workaround.
  13. falko

    falko Super Moderator ISPConfig Developer

    This must be a problem with your installation because I know that this feature is working.
    Did you maybe modify your database manually or did some other changes to the ISPConfig sources?
  14. jdell

    jdell New Member

    I have not modified anything with the database or the ISPConfig sources with the exception of line 44 of /root/ispconfig/scripts/lib/classes/ispconfig_postfix.lib.php to manually specify external domains.

    I believe that it is working for you, but according to this thread, I'm not the only person who sees this not working.

    If you give me a couple of pointers on how the UI updates the db, I can dig into the PHP and see where it is failing (for me).

    The thing that is confusing for me is that the UI properly retains the settings for 'local' or 'external' delivery, so I presume that this UI setting *IS* saved successfully to the db. Maybe the logic where this setting translates into updating isp_isp_domain table is where it breaks for me?

Share This Page