I have recently been unable to send out mails through php on localhost. I use PHPMailer
and SwiftMailer
in different parts of the application.
With SwiftMailer
I get this:
Connection could not be established with host smtp.gmail.com [ #0]
With PHPMailer
, the message is:
SMTP Error: Could not connect to SMTP host.
My settings on SwiftMailer look like this:
$transport = Swift_SmtpTransport::newInstance('smtp.gmail.com', 465, 'ssl')
->setUsername(APP_GMAIL_EMAIL)
->setPassword(APP_GMAIL_PWD);
I have gone through several threads here at SO and elsewhere, and tried many 'fixes' but the error messages remain the same. Some "solutions" I've tried are:
- Enable OpenSSL in
php.ini
(It was previously off) - Change
smtp.gmail.com
tosmtp.googlemail.com
- Replace
smtp.gmail.com
with certain gmail IP addresses - Replace
smtp.gmail.com
withgethostbyname('smtp.gmail.com')
- Add
->setSourceIp('0.0.0.0')
to the instantiation code above, aftersetUsername
andsetPassword
This code was previously working, and I'm not sure what could have broken the function. As part of troubleshooting, I have just confirmed that a similar code on Linux shared hosting is emailing satisfactorily, suggesting that the problem is somehow from my environment. Thus, I even tried different sources of internet access, in case it's an ISP thing.
How can I crack this nut?