У меня есть следующая проблема, как вы могли догадаться по заголовку. У меня есть приложение CakePHP v2.5.6 с контактной формой, и оно выдает мне ошибку аутентификации каждый раз, когда я отправляю его, каково же было мое удивление после простого теста используя PHPMailer, он отлично работает, по-видимому, с той же конфигурацией.
Конфигурация CakePHP (app/Config/email.php)
<?php
class EmailConfig {
public $info = array(
'transport' => 'Smtp',
'host' => 'smtp.foo.com',
'port' => 25,
'username' => 'username',
'password' => 'password'
);
}
Код отправителя CakePHP
CakeEmail::deliver('[email protected]', 'Subject', 'Test', 'info');
Отчет об ошибках CakePHP
Тестовый сценарий PHPMailer
<?php
require './PHPMailer/PHPMailerAutoload.php';
$mail = new PHPMailer;
//$mail->SMTPDebug = 3;
$mail->isSMTP();
$mail->Host = 'smtp.foo.com';
$mail->SMTPAuth = true;
$mail->Username = 'username';
$mail->Password = 'password';
$mail->Port = 25;
$mail->setFrom('[email protected]', 'Mailer');
$mail->addAddress('[email protected]', 'Mr. foo');
$mail->addReplyTo('[email protected]', 'Information');
$mail->isHTML(true); // Set email format to HTML
$mail->Subject = 'Here is the subject';
$mail->Body = 'This is the HTML message body <b>in bold!</b>';
$mail->AltBody = 'This is the body in plain text for non-HTML mail clients';
if(!$mail->send()) {
echo 'Message could not be sent.';
echo 'Mailer Error: ' . $mail->ErrorInfo;
} else {
echo 'Message has been sent';
}
Итак, мой вопрос: есть ли на самом деле какие-либо различия между конфигурациями или я что-то упускаю? Почему PHPMailer работает, а CakeEmail нет?
Заранее спасибо :)
SMTPDebug = 2
, и вы увидите. - person Synchro   schedule 24.02.20162016-02-24 11:07:15 SERVER -> CLIENT: 235 2.7.0 Authentication successful
- person Asur   schedule 24.02.2016