检查是否连接 phpmailer 时捕获 EOF
EOF caught while checking if connected phpmailer
require 'PHPMailerAutoload.php';
$mail = new PHPMailer;
$mail->SMTPDebug = 3; // Enable verbose debug output
$mail->isSMTP(); // Set mailer to use SMTP
$mail->Host = 'myhost'; // Specify main and backup SMTP servers
$mail->SMTPAuth = true; // Enable SMTP authentication
$mail->Username = 'myusername'; // SMTP username
$mail->Password = 'mypassword'; // SMTP password
$mail->SMTPSecure = 'tls'; // Enable TLS encryption, `ssl` also accepted
$mail->Port = 1060; // TCP port to connect to
$mail->setFrom('test@gmail.com', 'test');
$mail->isHTML(true); // Set email format to HTML
$mail->addAddress('test@gmail.com'); // Add a recipient
for($i=0;$i<1;$i++){
$mail->Subject = "test bulk email ".$i;
$mail->Body = "this is email ".$i;
if(!$mail->Send())
{
$error_message = "Mailer Error: " . $mail->ErrorInfo;
}
}
echo $error_message;
当我运行这段代码时,我得到这个错误:
Connection: opened 2018-03-05 09:24:25 SERVER -> CLIENT: 2018-03-05 09:24:25 SMTP NOTICE: EOF caught while checking if connected 2018-03-05 09:24:25 Connection: closed 2018-03-05 09:24:25 SMTP Error: Could not connect to SMTP host.
我该如何解决这个问题?
您为 SMTP 提交使用了一个不寻常的端口号,因此请检查您的主机是否使用了正确的端口号。使用 SMTPSecure = 'tls'
.
时通常为 587
您在通过另一台主机发送时设置了一个 Gmail 发件人地址;这将导致您无法通过 SPF 检查,并且您的邮件将被阻止或被垃圾邮件过滤。
如果您想发送到列表,请遵循 the mailing list example provided with PHPMailer - 您的代码包含一些可能会导致重复消息的错误。
require 'PHPMailerAutoload.php';
$mail = new PHPMailer;
$mail->SMTPDebug = 3; // Enable verbose debug output
$mail->isSMTP(); // Set mailer to use SMTP
$mail->Host = 'myhost'; // Specify main and backup SMTP servers
$mail->SMTPAuth = true; // Enable SMTP authentication
$mail->Username = 'myusername'; // SMTP username
$mail->Password = 'mypassword'; // SMTP password
$mail->SMTPSecure = 'tls'; // Enable TLS encryption, `ssl` also accepted
$mail->Port = 1060; // TCP port to connect to
$mail->setFrom('test@gmail.com', 'test');
$mail->isHTML(true); // Set email format to HTML
$mail->addAddress('test@gmail.com'); // Add a recipient
for($i=0;$i<1;$i++){
$mail->Subject = "test bulk email ".$i;
$mail->Body = "this is email ".$i;
if(!$mail->Send())
{
$error_message = "Mailer Error: " . $mail->ErrorInfo;
}
}
echo $error_message;
当我运行这段代码时,我得到这个错误:
Connection: opened 2018-03-05 09:24:25 SERVER -> CLIENT: 2018-03-05 09:24:25 SMTP NOTICE: EOF caught while checking if connected 2018-03-05 09:24:25 Connection: closed 2018-03-05 09:24:25 SMTP Error: Could not connect to SMTP host.
我该如何解决这个问题?
您为 SMTP 提交使用了一个不寻常的端口号,因此请检查您的主机是否使用了正确的端口号。使用 SMTPSecure = 'tls'
.
您在通过另一台主机发送时设置了一个 Gmail 发件人地址;这将导致您无法通过 SPF 检查,并且您的邮件将被阻止或被垃圾邮件过滤。
如果您想发送到列表,请遵循 the mailing list example provided with PHPMailer - 您的代码包含一些可能会导致重复消息的错误。