I'm using phpMailer to send off purchase confirmations using a google apps address/smtp. The whole thing was working great on the development box, but now that it's live, it seems that the port I'm using (465) is blocked.
So I edit iptables with:
-A INPUT -p tcp -dport 465 -j ACCEPT -A INPUT -p tcp -sport 465 -j ACCEPT
My understanding is that this allows inbound & outbound connections on 465 (correct me if I'm wrong). After restarting iptables:
iptables -nL Chain INPUT (policy ACCEPT) target prot opt source destination ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:465 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp spt:465
However I still receive "Failed to connect to server: Permission denied" as debug from phpMailer. From what I've read, this usually indicates that the port is closed, & evidently that is the case.
Any hints on how to debug this further? Any help would be much appreciated.
In case it helps, here's the php:
$mail = new PHPMailer(); $mail->IsSMTP(); $mail->SMTPDebug = 1; //!DEV $mail->SMTPAuth = true; $mail->SMTPSecure = 'ssl'; $mail->Host = 'smtp.gmail.com'; $mail->Port = 465; $mail->Username = $emailAddress; $mail->Password = $emailPassword; $mail->SetFrom($emailAddress, 'PURCHASE ORDER'); $mail->AddAddress($customerEmail); $mail->AddAddress($salesEmail); $mail->Subject = $subject; $mail->Body = $body; $mail->Send() or die('Error: ' . $mail->ErrorInfo);
*Edit: The mailer works flawlessly on the development server - any advice on ways to compare what may be different? Same OS, same php... I'm stumped!