2016-06-16 5 views
0

первый: Im traying послать простую электронную почту без вложений с PHPMailer класса

второй: Код у меня не работает с требуется («../ ЛИЭС/PHPMailer/class.phpmailer.php»); // здесь бросает мне фатальную ошибкуКАК: отправить почту с помощью класса PHPMailer или PHPMailerAutoload?

enter image description here

третий: Я уже пытался с классом PHPMailerAutoload

требуют ('../ ЛИЭС/PHPMailer/PHPMailerAutoload.php'); // здесь оно не бросать какие-либо ошибки, но не посылает мне ничего

<?php 
require('../libs/PHPMailer/class.phpmailer.php'); 

echo $_POST['InputName']; 
echo $_POST['InputEmail']; 
echo $_POST['InputMessage']; 

if(!isset($_POST['InputName']) || 
    !isset($_POST['InputEmail']) || 
    !isset($_POST['InputMessage'])) { 

    died('We are sorry, but there appears to be a problem with the form you submitted.'); 
} 

$inputName = $_POST['InputName']; 
$inputEmail = $_POST['InputEmail']; 
$inputMessage = $_POST['InputMessage']; 
$error_message = ""; 

$mail=new PHPMailer(); 
$mail->CharSet = 'UTF-8'; 

$mail->IsSMTP(); 
$mail->Host  = 'mail.domain.com.mx'; 

$mail->SMTPSecure = 'tls'; 
$mail->Port  = 465; 
$mail->SMTPDebug = 1; 
$mail->SMTPAuth = true; 

$mail->Username = '[email protected]'; 
$mail->Password = 'mypassword'; 

$mail->SetFrom($inputEmail, 'something here'); 
// $mail->AddReplyTo('[email protected]','no-reply'); 
$mail->Subject = 'CONTACT '.$inputEmail; 
$mail->MsgHTML($inputMessage); 

$mail->AddAddress('[email protected]', 'contact'); 
$mail->AddAddress('[email protected]', 'other'); /* ... */ 

// $mail->AddAttachment($fileName); 
$mail->send(); 

?>

+0

у вас есть локальный хост? .. если это случай. активировать smtp. вы можете настроить фальшивую почтовую программу –

+0

+ joshua Belarmino. Спасибо за ответ, но минут назад я мог исправить эту проблему. Моя проблема была в учетных данных smtp. Я был смущен о TLS и SSL и PORT. Даже я работал в localhost, мне не приходилось ничего настраивать. редко С уважением –

+0

Вы основали свой код на устаревшем примере - начните с примеров кода, предоставляемых PHPMailer, и убедитесь, что используете последнюю версию. – Synchro

ответ

1

Ваш код даже не пытается обнаружить сбои. Вы не позволяете исключения:

$mail=new PHPMailer(); 

... и вы не проверить результат:

$mail->send(); 

Я предлагаю вам включить исключение:

$mail=new PHPMailer(true); 

... или по крайней мере, проверить, если сообщение было принято сервером:

if (!$mail->send()) { 
    // Log to file and warn user 
} 

Кроме того, в PHPMailer было несколько функций отладки, которые вы должны попробовать. Пожалуйста, проверьте свойства SMTPDebug и Debugoutput.

+0

Спасибо Альваро Гонсалес. Последний validatuon я уже написал. Флаг в true я попробую. Спасибо за отладочные предложения Im совершенно новые в Php. С уважением! –

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