2017-02-02 2 views
-1

Я пытаюсь отправить электронное письмо с PHPMailer, но пока это не работает.PHPMailer не работает на веб-странице

На мой FTP я поместил 2 файлов, то class.phpmailer.php и sendEMail.php (этот файл создается мной), с этим содержанием:

<?php 
require_once('/var/www/vhosts/MYWEBPAGE/httpdocs/class.phpmailer.php'); 

$mail = new PHPMailer(); 
$mail->isSMTP(); 
$mail->SMTPAuth = true; 
$mail->Host = "mail.dom.com"; 
$mail->Username = "[email protected]"; 
$mail->Password = "passwd"; 
$mail->Port = 25; 

$mail->setFrom("[email protected]", "me", 0); 

$mail->addAddress("[email protected]"); 

$mail->Subject = "test"; 
$body = "Hello World!"; 
$mail->Body = $body; 

if(!$mail->send()) { 
echo ("Invoice could not be send. Mailer Error: " . $mail->ErrorInfo); 
} else { 
echo "Invoice sent!"; 
} 

?> 

я что-то не хватает? Когда я запускаю этот файл, он ничего не показывает, я имею в виду перед if (! $ Mail-> send()) {... Он показывает мне каждое эхо, но после этой строки это ничего мне не показывает.

+2

Возможные дубликатом [Проблема PHP Mailer] (http://stackoverflow.com/questions/5681478/problem-php-mailer) –

+0

$ mail-> SMTPDebug = true; добавьте это и проверьте, что он показывает – user3619389

+0

Это ничего мне не показывает, может быть, я поставил эту строку в неправильном положении ... – Akaishu

ответ

0

Это потому, что вы не читали the readme, который сообщает вам, какие файлы вам нужны, и не основывайте свой код на представленных примерах. Вы не загрузили класс SMTP и автозагрузчик, который будет загружать его для вас, поэтому, как только вы попытаетесь отправить, он не сможет найти класс SMTP. Это будет регистрироваться в ваших журналах веб-сервера, как и любая другая фатальная ошибка PHP.

Вместо этого:

require_once('/var/www/vhosts/MYWEBPAGE/httpdocs/class.phpmailer.php'); 

сделать это:

require '/var/www/vhosts/MYWEBPAGE/httpdocs/PHPMailerAutoload.php'; 
+0

Вы правы, я не читал readme, после изменения того, что вы сказали, это дало мне эта ошибка: Неустранимая ошибка: Class 'SMTP' не найден inclass.phpmailer.php в строке 1347. Я просто скопировал класс.smtp.php, и он отлично сработал! Спасибо Synchro !! – Akaishu

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