Я недавно использовал phpmailer для формы контакта, но когда я пытаюсь отправить форму контакта в электронное письмо, это приводит к ошибке. Любая помощь будет оценена! Имейте в виду, что это использование xampp localhost. Кроме того, мой contact.php перенаправляет на другую страницу, которая ма Моя ошибка являетсяPHPMailer, не работающий с gmail (с помощью xampp localhost)
2016-02-21 00:02:19 Invalid address: (addAnAddress Reply-To): 11 Notice: Undefined property: PHPMailer::$send in C:\xampp\htdocs\Guild Website\contact.php on line 51
contact.php сценарий также -
<?php
ini_set('display_errors', 1); ini_set('display_startup_errors', 1); error_reporting(E_ALL);
session_start();
require_once 'libs/phpmailer/PHPMailerAutoload.php';
$errors = [];
if(isset($_POST['name'], $_POST['email'], $_POST['ign'], $_POST['gamepref'], $_POST['cps'], $_POST['anythingelse'])) {
$fields = [
'name' => $_POST['name'],
'e-mail' => $_POST['email'],
'IGN' => $_POST['ign'],
'game preference' => $_POST['gamepref'],
'CPS' => $_POST['cps'],
'anything else' => $_POST['anythingelse'],
];
foreach($fields as $field => $data) {
if(empty($data)) {
$errors[] = "The $field field is required.";
}
}
if(empty($errors)) {
$mail = new PHPMailer;
$mail->isSMTP();
$mail->SMTPAuth = true;
$mail->SMTPDebug = 2;
$mail->Host = 'smtp.gmail.com';
$mail->Username = '[email protected]';
$mail->Password = 'pass';
$mail->SMTPSecure = 'ssl';
$mail->Port = 465;
$mail->isHTML();
$mail->Subject = '$fields[\'name\'] is wanting to apply.';
$mail->Body = '<p>Name: $fields[\'name\']</p><p>E-Mail: $fields[\'e-mail\']</p><p>IGN: $fields[\'IGN\']</p><p>Game Preference: $fields[\'game preference\']</p><p>CPS: $fields[\'CPS\']</p><p>Message: $fields[\'anything else\']</p>';
$mail->FromName = 'Contact';
$mail->AddReplyTo($fields['e-mail'], $fields['name']);
$mail->AddAddress('[email protected]');
if($mail->send) {
header('Location: thanks.php');
die();
} else {
$errors[] = 'Sorry, could not send email. Try again later.';
}
}
} else {
$errors[] = "Something went wrong! (Mabye it is because you didn't put anything!)";
}
$_SESSION['errors'] = $errors;
$_SESSION['fields'] = $fields;
Что такое ошибка вы получаете – IeuanG
Как проверить, я попытался с помощью $ МАИ; нет -.?> SMTPDebug = 2, но я понятия не имею, как просмотрите сообщение – krcoolgamingFTW
Поместите это в начало вашего файла: ini_set ('display_errors', 1); ini_set ('display_startup_errors', 1); error_reporting (E_ALL); – IeuanG