SMTP() Faied in PHPmailer



我使用以下代码使用 PHP 发送邮件

<?php
$sendfrm_name = "Bala";
$sendfrm_id = "xxxxxxxx@gmail.com";
$sendtoname = 'Bala';
$sendto = 'yyyyyy@client.com';
$cc = '';
include("mail/PHPMailerAutoload.php");
include("mail/class.PHPMailer.php");
include("mail/class.smtp.php");
$mail = new PHPMailer;
$mail-> isSMTP();
$mail-> Host = 'smtp.gmail.com'; 
//$mail->SMTPDebug   = 2;
$mail-> SMTPAuth = true;
$mail->smtpConnect = array(
    'ssl' => array(
        'verify_peer' => false,
        'verify_peer_name' => false,
        'allow_self_signed' => true
    )
);
$mail-> Username = 'aaasasas@gmail.com';
$mail-> Password = 'pwd';
$mail-> SMTPSecure = 'tls';
$mail-> Port = 587; //587
$mail-> setFrom($sendfrm_id, $sendfrm_name);
$mail-> addAddress($sendto, $sendtoname);
$mail-> addReplyTo($sendto, $sendtoname);
//$mail->addCC($cc);
$mail->WordWrap = 50;
$mail->isHTML(true);
$mail->Subject = "Test Mail";
$mail->Body = "Name: ".$sendfrm_name ."<br /> Email: ".$sendfrm_id;
if(!$mail->send())
{
    echo "Mailer Error: ".$mail->ErrorInfo;
}
else
{
    echo "1";
}
?>

上面的代码在localhost(php版本5.3(中工作,但同样的代码在服务器中不起作用。

其通过失败错误:邮件程序错误 SMTP(( 连接失败

如何修复此错误? 以及如何在Linux服务器中启用Openssl?

我复制并测试了您的代码,可以工作(TLS 和 SSL(

您可以启用调试模式以获取更多详细信息。

$mail->SMTPDebug = 2; // enables SMTP debug information (for testing)

最新更新