Я пытаюсь отправить электронное письмо, используя Fat Free Framework на localhost, используя SMTP-сервер Gmail, но оно не отправляет почту. Я также пытаюсь использовать средство ведения журнала F3 SMTP, но оно ничего не возвращает.
Вывод из эха: «результат по электронной почте: не отправлено, mylog:, заголовок: не существует».
Я использую последнюю версию F3, с Apache 2.2 и PHP 5.4 на localhost.
$smtp = new SMTP ( 'smtp.gmail.com', 465, 'SSL', '[email protected]', 'mypass' );
$smtp->set('From', '"Joe Bloggs" <[email protected]>');
$smtp->set('To', '<[email protected]>');
$smtp->set('Subject', 'Sent with the F3 SMTP plug-in');
$smtp->set('Errors-to', '<[email protected]>');
$message = 'it works';
$sent = $smtp->send($message, TRUE);
$mylog = $smtp->log();
$sentText = 'not sent';
$headerText = 'does not exist';
if ($sent)
{
$sentText = 'was sent';
}
if ($smtp->exists('Date'))
{
$headerText = 'exists';
}
echo "email result: " . $sentText . ",mylog: " . $mylog . ", header: " . $headerText;
Я думаю, что вам, вероятно, нужен PHPMailer для дальнейшего тестирования …
В коде smtp.php из FLAT FREE gmail, кажется, работает :(, но с PHPMail это официально (в примере кода они делают это, и я использую это, и это работает).
Спасибо за все полезные комментарии.
Я попробовал PHPMailer, как предложил Джеки, и (удивительно) я получил сообщение об ошибке от PHP, чтобы точно сказать, в чем проблема.
Сообщение об ошибке было «SMTP ОШИБКА: не удалось подключиться к серверу: не удалось найти транспортный сокет« ssl »- вы забыли включить его при настройке PHP?»
Поэтому я зашел в свой «php.ini» и искал SSL и нашел строку «extension = php_openssl.dll», которая была закомментирована. Я раскомментировал его, перезапустил Apache и PHPMailer, затем сработал — письмо было отправлено.
Я вернулся в Fat Free, и теперь это тоже сработало! (без изменений в коде, размещенном в вопросе). Жаль, что регистрация Fat Free не дала мне никаких подсказок.
Я использовал этот код для PHPMailer: Пример кода для использования PHPMailer на локальном хосте (Windows)