0

We are trying to get our set up an SMTP function but keep hitting errors with the test email. We even tried both WP-Mail-SMTP and Easy WP SMTP. After talking with our host at WPEngine we couldn't find any issue on their end since they do use OpenSSL and told us to use port 2525 since we are using Outlook. Our IT department also said that port should work just fine and isn't blocked by Outlook. I even used another SMTP hostname of premierdisability-com.mail.protection.outlook.com. However, that one gave the same error but said connection Timed Out instead of Network is unreachable.

The only option I can think of is editing/swapping the class-phpmailer.php and class-smtp.php files with an older version. But Easy WP SMTP says it should be compatible with our setup of WP (WP v4.8, PHP v5.6). Do you think that would be a good option to try or know of anything else to try?

  object(PHPMailer)#1882 (76) {
  ["Version"]=>
  string(6) "5.2.22"
  ["Priority"]=>
  NULL
  ["CharSet"]=>
  string(5) "UTF-8"
  ["ContentType"]=>
  string(10) "text/plain"
  ["Encoding"]=>
  string(4) "7bit"
  ["ErrorInfo"]=>
  string(82) "SMTP connect() failed. https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting"
  ["From"]=>
  string(34) "[email protected]"
  ["FromName"]=>
  string(27) "Premier Disability Services"
  ["Sender"]=>
  string(34) "[email protected]"
  ["ReturnPath"]=>
  string(0) ""
  ["Subject"]=>
  string(56) "WP Mail SMTP: Test mail to [email protected]"
  ["Body"]=>
  string(68) "This is a test email generated by the WP Mail SMTP WordPress plugin."
  ["AltBody"]=>
  string(0) ""
  ["Ical"]=>
  string(0) ""
  ["MIMEBody":protected]=>
  string(69) "This is a test email generated by the WP Mail SMTP WordPress plugin.
"
  ["MIMEHeader":protected]=>
  string(405) "Date: Fri, 15 Sep 2017 18:16:49 +0000
To: [email protected]
From: Premier Disability Services 
Subject: WP Mail SMTP: Test mail to [email protected]
Message-ID: <[email protected]>
X-Mailer: PHPMailer 5.2.22 (https://github.com/PHPMailer/PHPMailer)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8

"
  ["mailHeader":protected]=>
  string(0) ""
  ["WordWrap"]=>
  int(0)
  ["Mailer"]=>
  string(4) "smtp"
  ["Sendmail"]=>
  string(18) "/usr/sbin/sendmail"
  ["UseSendmailOptions"]=>
  bool(true)
  ["PluginDir"]=>
  string(0) ""
  ["ConfirmReadingTo"]=>
  string(0) ""
  ["Hostname"]=>
  string(0) ""
  ["MessageID"]=>
  string(0) ""
  ["MessageDate"]=>
  string(31) "Fri, 15 Sep 2017 18:16:49 +0000"
  ["Host"]=>
  string(18) "smtp.office365.com"
  ["Port"]=>
  string(4) "2525"
  ["Helo"]=>
  string(0) ""
  ["SMTPSecure"]=>
  string(3) "tls"
  ["SMTPAutoTLS"]=>
  bool(false)
  ["SMTPAuth"]=>
  bool(true)
  ["SMTPOptions"]=>
  array(0) {
  }
  ["Username"]=>
  string(34) "[email protected]"
  ["Password"]=>
  string(8) "*******"
  ["AuthType"]=>
  string(0) ""
  ["Realm"]=>
  string(0) ""
  ["Workstation"]=>
  string(0) ""
  ["Timeout"]=>
  int(300)
  ["SMTPDebug"]=>
  bool(true)
  ["Debugoutput"]=>
  string(4) "echo"
  ["SMTPKeepAlive"]=>
  bool(false)
  ["SingleTo"]=>
  bool(false)
  ["SingleToArray"]=>
  array(0) {
  }
  ["do_verp"]=>
  bool(false)
  ["AllowEmpty"]=>
  bool(false)
  ["LE"]=>
  string(1) "
"
  ["DKIM_selector"]=>
  string(0) ""
  ["DKIM_identity"]=>
  string(0) ""
  ["DKIM_passphrase"]=>
  string(0) ""
  ["DKIM_domain"]=>
  string(0) ""
  ["DKIM_private"]=>
  string(0) ""
  ["DKIM_private_string"]=>
  string(0) ""
  ["action_function"]=>
  string(0) ""
  ["XMailer"]=>
  string(0) ""
  ["smtp":protected]=>
  object(SMTP)#1886 (14) {
    ["Version"]=>
    string(6) "5.2.22"
    ["SMTP_PORT"]=>
    int(25)
    ["CRLF"]=>
    string(2) "
"
    ["do_debug"]=>
    bool(true)
    ["Debugoutput"]=>
    string(4) "echo"
    ["do_verp"]=>
    bool(false)
    ["Timeout"]=>
    int(300)
    ["Timelimit"]=>
    int(300)
    ["smtp_transaction_id_patterns":protected]=>
    array(3) {
      ["exim"]=>
      string(21) "/[0-9]{3} OK id=(.*)/"
      ["sendmail"]=>
      string(29) "/[0-9]{3} 2.0.0 (.*) Message/"
      ["postfix"]=>
      string(35) "/[0-9]{3} 2.0.0 Ok: queued as (.*)/"
    }
    ["smtp_conn":protected]=>
    bool(false)
    ["error":protected]=>
    array(4) {
      ["error"]=>
      string(0) ""
      ["detail"]=>
      string(0) ""
      ["smtp_code"]=>
      string(0) ""
      ["smtp_code_ex"]=>
      string(0) ""
    }
    ["helo_rply":protected]=>
    NULL
    ["server_caps":protected]=>
    NULL
    ["last_reply":protected]=>
    string(0) ""
  }
  ["to":protected]=>
  array(1) {
    [0]=>
    array(2) {
      [0]=>
      string(29) "[email protected]"
      [1]=>
      string(0) ""
    }
  }
  ["cc":protected]=>
  array(0) {
  }
  ["bcc":protected]=>
  array(0) {
  }
  ["ReplyTo":protected]=>
  array(0) {
  }
  ["all_recipients":protected]=>
  array(1) {
    ["[email protected]"]=>
    bool(true)
  }
  ["RecipientsQueue":protected]=>
  array(0) {
  }
  ["ReplyToQueue":protected]=>
  array(0) {
  }
  ["attachment":protected]=>
  array(0) {
  }
  ["CustomHeader":protected]=>
  array(0) {
  }
  ["lastMessageID":protected]=>
  string(56) "<[email protected]>"
  ["message_type":protected]=>
  string(5) "plain"
  ["boundary":protected]=>
  array(3) {
    [1]=>
    string(35) "b1_2b81fcc2a1a7b45ecfed265c6f74ed17"
    [2]=>
    string(35) "b2_2b81fcc2a1a7b45ecfed265c6f74ed17"
    [3]=>
    string(35) "b3_2b81fcc2a1a7b45ecfed265c6f74ed17"
  }
  ["language":protected]=>
  array(19) {
    ["authenticate"]=>
    string(35) "SMTP Error: Could not authenticate."
    ["connect_host"]=>
    string(43) "SMTP Error: Could not connect to SMTP host."
    ["data_not_accepted"]=>
    string(30) "SMTP Error: data not accepted."
    ["empty_message"]=>
    string(18) "Message body empty"
    ["encoding"]=>
    string(18) "Unknown encoding: "
    ["execute"]=>
    string(19) "Could not execute: "
    ["file_access"]=>
    string(23) "Could not access file: "
    ["file_open"]=>
    string(33) "File Error: Could not open file: "
    ["from_failed"]=>
    string(35) "The following From address failed: "
    ["instantiate"]=>
    string(36) "Could not instantiate mail function."
    ["invalid_address"]=>
    string(17) "Invalid address: "
    ["mailer_not_supported"]=>
    string(25) " mailer is not supported."
    ["provide_address"]=>
    string(54) "You must provide at least one recipient email address."
    ["recipients_failed"]=>
    string(45) "SMTP Error: The following recipients failed: "
    ["signing"]=>
    string(15) "Signing Error: "
    ["smtp_connect_failed"]=>
    string(22) "SMTP connect() failed."
    ["smtp_error"]=>
    string(19) "SMTP server error: "
    ["variable_set"]=>
    string(30) "Cannot set or reset variable: "
    ["extension_missing"]=>
    string(19) "Extension missing: "
  }
  ["error_count":protected]=>
  int(2)
  ["sign_cert_file":protected]=>
  string(0) ""
  ["sign_key_file":protected]=>
  string(0) ""
  ["sign_extracerts_file":protected]=>
  string(0) ""
  ["sign_key_pass":protected]=>
  string(0) ""
  ["exceptions":protected]=>
  bool(true)
  ["uniqueid":protected]=>
  string(32) "2b81fcc2a1a7b45ecfed265c6f74ed17"
}
The SMTP debugging output is shown below:

2017-09-15 18:16:49 Connection: opening to smtp.office365.com:2525, timeout=300, options=array (
                                      )
2017-09-15 18:17:59 Connection: Failed to connect to server. Error number 2. "Error notice: stream_socket_client(): unable to connect to smtp.office365.com:2525 (Network is unreachable)
2017-09-15 18:17:59 SMTP ERROR: Failed to connect to server: Network is unreachable (101)
2017-09-15 18:17:59 SMTP connect() failed. https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting
1
  • Try this on your server telnet smtp.office365.com 2525, make sure that host is accepting connections, in my machine, it doesn't.
    – Ismail
    Commented Sep 15, 2017 at 23:39

3 Answers 3

0

I just discovered we had this issue yesterday. Successfully setup mailgun this morning. It's free for less than 10,000 emails per month.

4
  • note for the future, I will keep this answer around (not that it depends on me ;) ) but generally "use a different tool", one which is not trivial to use, is not a very good answer. Commented Sep 18, 2017 at 3:02
  • Ah yes - I should have posted that WP engine are blocking ports 25 465 587. Port 2525 is suggested if your SMTP provider supports it. WP Engine only allow Gmail on 465 and 587. That's why I looked elsewhere and found mailgun.
    – Loudsy
    Commented Sep 19, 2017 at 3:10
  • now it is 10 times better ;) Commented Sep 19, 2017 at 4:14
  • The only issue with using MailGun is that while we only expect to get 100 emails a month, they don't want to put the debut card on things like this. And Mail gun requires a card to be put in first.
    – IamDade89
    Commented Oct 2, 2017 at 16:07
0

Double check with your IT department if they are allowing your server IP to connect using port 2525. I also have sites on WP Engine and use a SMTP code that connects to our in house mail server and sends email from there. However, I had to whitelist our WP Engine server IP on our firewall to allow traffic through port 2525.

0

This question is a bit old but I would like to share my experience with anyone having the same issue nowadays.

My setup is: PHP 7.4, WordPress 5.7.2, WP Mail SMTP 2.8.0

I wanted to use a custom external SMTP server. Don't ask why. It's complicated.

I've setup everything as instructed by the mail/hosting provier but kept getting the "SMTP connect() failed" and "SMTP Error: Could not authenticate" errors.

After a bit of digging and a few transactions with support, changing the default AuthType of PHPMailer fixed it. It was defaulting to "CRAM-MD5" and wasn't working. Switching it to "PLAIN" fixed the problem. Since everything is encrypted I decided that sending "PLAIN" data shouldn't be a problem. This was the thing with my hosting provider, however I encourage anyone having the same issue to experiment with AuthType as well.

Doing something like the following in functions.php made the fix persistent so I can update WordPress and its plugins without worry:

add_filter( 'wp_mail_smtp_custom_options', function( $phpmailer ) {
    $phpmailer->AuthType = 'PLAIN';
    
    return $phpmailer;
} );

Hope this helps someone!

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.