Jump to content

[Solved] Cannot send email via Google/Outlook/Mailgun SMTP via PhpMailer


Recommended Posts

Hi Heliohost,


My username is Zekus.
I am using Tommy server.


I cannot send mail from Outlook/Gmail/Mailgun SMTP, which is working with my local WAMP.
This is the error I received.


2018-01-06 16:10:56 Connection: opening to smtp-mail.outlook.com:587, timeout=300, options=array()
2018-01-06 16:11:05 Connection failed. Error #2: stream_socket_client(): unable to connect to smtp-mail.outlook.com:587 (Network is unreachable) [/home/zekus/public_html/*****/SMTP.php line 325]
2018-01-06 16:11:05 SMTP ERROR: Failed to connect to server: Network is unreachable (101)


But when I commented "$mail->isSMTP();" from my php file, it is working but an email will be sent to Junk mail.
I did try both port 465 for SSL and 587 for TLS.

Here is my PhpMailer code.


namespace PHPMailer;
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\SMTP;
use PHPMailer\PHPMailer\Exception;

require_once 'PHPMailer.php';
require_once 'SMTP.php';
require_once 'Exception.php';
$mail = new PHPMailer;

$mail->SMTPDebug = 0;
$mail->Host = 'smtp-mail.outlook.com';
$mail->Port = 587;
$mail->SMTPSecure = 'tls';
$mail->SMTPAuth = True;

$mail->CharSet = 'UTF-8';  
$mail->SMTPKeepAlive = true;
$mail->Username = "admin@job4dent.com";
$mail->Password = "*****";
$mail->setFrom('admin@job4dent.com', 'Job4Dent');
$mail->addAddress('job4dent@outlook.com', 'John Doe');
$mail->Subject = 'PHPMailer 6.0 Outlook SMTP test';
$mail->Body =
            This system is working perfectly.";
$mail->AltBody = 'This is a plain-text message body';

if (!$mail->send()) {
    echo "Mailer Error: " . $mail->ErrorInfo;
} else {
    echo "Message sent!";


When I change Host to tommy.heliohost.org or change my username and password, my email can be sent

but with warning of fraud email that was not directly sent by Google/Outlook.


It can be tested via https://4dent.tk/cronSendMailClinicGMail.php


Many thanks,


Edited by zekus
Link to comment
Share on other sites

# telnet smtp-mail.outlook.com 587
Connected to smtp-mail.outlook.com.
Escape character is '^]'.
220 CY4PR15CA0002.outlook.office365.com Microsoft ESMTP MAIL Service ready at Tue, 9 Jan 2018 02:49:31 +0000
telnet> quit
Connection closed.
Port 587 to outlook is open on Tommy.
Link to comment
Share on other sites

Sorry, I forgot to mention that after I pointed my NS to HelioHost and it works, I changed it back to my registrar because I want to use their features.


Do I need to config MX or SPF from my registrar for mail sending to work?

Link to comment
Share on other sites

Things like SPF will probably be missing, which would explain the spam flags and blocks (the providers want to see a valid mail server when the look up the connecting party to reduce spam) . You can try creating the MX and related records manually (you'll need to go into cpanel and look in the MX editor and the DNS editor to see what the correct values are).


No guarantees it'll work though.

Link to comment
Share on other sites

This topic is now closed to further replies.
  • Create New...