2016-02-20 4 views
-1

Я недавно использовал 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; 
+0

Что такое ошибка вы получаете – IeuanG

+0

Как проверить, я попытался с помощью $ МАИ; нет -.?> SMTPDebug = 2, но я понятия не имею, как просмотрите сообщение – krcoolgamingFTW

+0

Поместите это в начало вашего файла: ini_set ('display_errors', 1); ini_set ('display_startup_errors', 1); error_reporting (E_ALL); – IeuanG

ответ

0

Только что узнал решение! Сначала я перешел к ДУС, а затем я добавил это - $ mail-> SMTPOptions = массив ( 'Ssl' => массив ( 'verify_peer' => ложным, 'verify_peer_name' => ложно, 'allow_self_signed' = > истинные ) и, наконец, позволили менее безопасные приложения для Gmail

+0

Это не решение проблемы, опубликованной, и в любом случае это плохая идея. – Synchro

Смежные вопросы