2016-05-20 3 views
2

Я изо всех сил пытаюсь настроить PHPMailer и работать в своем приложении.Не удается заставить PHPMailer работать

Установка кажется достаточно простой. Моя структура каталогов выглядит следующим образом:

|-[controllers] 
|---controller.php 
|-[vendor] 
|---[PHPMailer] 
|------class.phpmailer.php 
|------PHPMailerAutoload.php 
|-index.php 

index.php

<?php 
    ... 
    require __DIR__ . '/vendor/PHPMailer/PHPMailerAutoload.php'; 
    ... 
?> 

controller.php

<?php 
    include('vendor/PHPMailer/class.phpmailer.php'); 
    $mail = new PHPMailer(); 
    ... 
?> 

Это в значительной степени так же просто, как пример получает, но когда я запускаю это , Я получаю следующую ошибку:

Parse error: syntax error, unexpected end of file in C:\wamp\www\commway\vendor\PHPMailer\class.phpmailer.php on line 2995

Все отлично работает, я не вижу, как мне удалось это сломать. Я даже попытался переместить все в файл index.php, но я получаю тот же результат. Как только я вызываю $mail = new PHPMailer();, он выдает ошибку.

+0

Имеет 'C: \ WAMP \ WWW \ commway \ поставщика \ PHPMailer \ class.phpmailer.php' достаточное содержание? – mnv

+0

В контроллере попробуйте выполнить требование вместо include. Если это дает вам ошибку, одна строка выше означает, что ваш файл все еще не найден по пути. as include позволяет выполнить ваш код, даже если файл не найден. –

+0

Также, как ваша структура кажется MVC, если вы используете композитор, попробуйте загрузить phpmailer через композитор, например, «composer require phpmailer/phpmailer» –

ответ

2

У меня есть этот код работает:

//  PHPmailer 

require 'PHPMailer-master/PHPMailerAutoload.php'; 

$mail = new PHPMailer; 
$mail->CharSet = 'UTF-8'; 
$mail->isSMTP();       // Set mailer to use SMTP 
$mail->Host = SMTP;       // Specify main and backup SMTP servers/* 

$mail->From = EMAIL; 
$mail->FromName = SENDER; 
$mail->addAddress($Email, $FirstName);  // Add a recipient 
$mail->WordWrap = 50;      // Set word wrap to 50 characters 
$mail->isHTML(true);      // Set email format to HTML 

$mail->Subject = $mailSubject; 
$mail->Body = $message; 

if(!$mail->send()) { 
    echo 'Message could not be sent.'; 
    echo 'Mailer Error: ' . $mail->ErrorInfo; 
} else { 
    echo 'Message has been sent to ' . $Email . "<br>"; 
} 

//  end of PHPmailer 

со структурой:

PHPMailer-Master 
-class.phpmailer.php 
-class.pop3.php 
-class.smtp.php 
-PHPmailerAutoload.php 
+0

Это из вашего индексного файла? Откуда у вас этот код? – Riples

+0

он находится в файле под названием «mail.php» в папке www со структурой, как показано. – Louis

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