Postfix SMTP Authentication on Multiserver setup not working.

Discussion in 'Installation/Configuration' started by bjtrammell, Mar 6, 2016.

  1. bjtrammell

    bjtrammell New Member

    Ok, so I'm still kinda new to ISPConfig, so if it's a simple fix go easy on me here. I've posted a few issues and they've turned out to be somewhat easy things to fix, but I was just over thinking them.

    Now I have 3 servers in a multiserver configuration, all three servers are replicated in content, database and should be in email, however when I use something like PHPMailer to attempt to send emails, I get a message saying that my script can't connect. I have port 25, 265, and 587 all open and listening for requests, 25 is Non-SSL requests, and 465 & 587 are SSL and TLS.

    I am using an email address I know exists, and was created in ISPConfig (and is displayed under "Email Mailbox"), with the same credentials, however I am not able to send it. As I said. I am using 3 servers, all are setup to send email, serve websites, and serve DNS records. They are all doing what they are supposed to....except send email using SMTP (they are receiving email just fine).

    I know I'm not going crazy. I followed this guide exactly to the letter:
    https://www.howtoforge.com/perfect-...l-php-pureftpd-postfix-dovecot-and-ispconfig3

    When I am setting up my script I have tried localhost, 127.0.0.1, server1.domain.tld, server2.domain.tld, server3.domain.tld, and I've even tried the local IP addresses these servers use to communicate with on our off-band network. Nothing seems to be working. Only when we use PHP's mail feature.

    And with plans to add more servers for redundancy. I am hoping to get this resolved. Some of our emails are being seen as spam, which obviously no one wants. And is also the case with me.

    Are email accounts replicated along with the ISPConfig data replication, or do I need to find a way to replicate that as well?
     
    Last edited: Mar 7, 2016
  2. florian030

    florian030 ISPConfig Developer ISPConfig Developer

    If you have one or more mail-server configured as a mirror, the data will be replicated on all servers. You should check the mail.log to find out why you can`t send mail.
     
  3. bjtrammell

    bjtrammell New Member

    florian030, Thank you for your reply.
    Since posting this I have narrowed down the issue. It has something to do with Postfix and TLS. When using the application I'm getting errors about the certificate, but only when I select to use TLS. So I'm assuming my Postfix is only accepting TLS connections.

    I want it to do the following:
    25 - Standard Non-Encrypted SMTP
    465 - SSL Based Encryption
    587 - TLS Based Encryption.

    Now, I'm not 100% sure that's whats going on. I'm just relaying what I see in my application's error log.

    Here is the error I am getting from my PHP Script:
    Code:
    CLIENT -> SERVER: EHLO domain.tld
    CLIENT -> SERVER: STARTTLS
    SMTP Error: Could not connect to SMTP host.
    CLIENT -> SERVER: QUIT
    SMTP ERROR: QUIT command failed:
    SMTP Error: Could not connect to SMTP host.
    Email Sending Failed - SMTP Error: Could not connect to SMTP host.
    Additionally, nothing is showing up in the maillog. I'm not sure if I mentioned it before, but I'm using PHP Mailer to attempt to send.
     
  4. ztk.me

    ztk.me ISPConfig Developer ISPConfig Developer

    Could be user created certs, often php can't verify them and rejects them as default action.
    Check class.smtp.php in line 238
    Code:
    public function connect($host, $port = null, $timeout = 30, $options = array()) {
           if (count($options) == 0) {
               $options['ssl'] = array('verify_peer' => false, 'verify_peer_name' => false, 'allow_self_signed' => true);
           }
    
    Pass an options-array to make it work without changing the code, I just don't have it handy to show original source. solution from here
     
  5. bjtrammell

    bjtrammell New Member

    Thank you for your reply. Postfix is using a Signed Cetificate. With CABundle
     

Share This Page