2014-09-09 3 views
1

Вот мой код phpmailer, его не работает, не знаю, где я получаю ошибку. Мне нужно вставить этот код в определенный скрипт, и я думаю, что для порта gmail нет port no 465.php mailer не работает

<?php 
if(isset($_POST['submit'])) { 
require_once('phpmailer/class.phpmailer.php'); 

$email=$_POST['email']; 
$subject1=$_POST['subject']; 
$message=$_POST['message']; 
smtpmailer($email,$subject1,$message); 

function smtpmailer($to,$subject,$body) { 

    global $error; 
    $mail = new PHPMailer(); // create a new object 
    $mail->IsSMTP(); // enable SMTP 
    $mail->SMTPDebug = 1; // debugging: 1 = errors and messages, 2 = messages only 
    $mail->SMTPAuth = true; // authentication enabled 
    $mail->SMTPSecure = 'ssl'; // secure transfer enabled REQUIRED for Gmail 
    $mail->Host = "smtp.gmail.com"; 
    $mail->Port = 465; 
    $mail->Username = "aman****[email protected]"; 
    $mail->Password = "*****02589"; 

    $mail->From  = "aman***[email protected]"; 
    $mail->FromName = "Cor****tions"; 

    $mail->Subject = $subject; 
    $mail->Body = $body; 

    if(!$mail->Send()) { 
     $error = 'Mail error: '.$mail->ErrorInfo; 
     return false; 
    } else { 
     $error = 'Message sent!'; 
     return true; 
} 
} 
} 
?><html><body> 
<form method="post" action="index.php"> 
Email: <input name="email" id="email" type="text" /><br /> 
Subject:<br /> 
<textarea name="subject" id="subject" rows="2" cols="40"></textarea><br /> 
Message:<br/> 
<textarea name="message" id="message" rows="15" cols="40"></textarea><br /> 
<input type="submit" value="Submit" name="submit"/> 
</form> 
</body> 
</html> 

Может ли кто-нибудь помочь? где я получаю ошибку? , когда я запускаю этот скрипт его подачи error-

Fatal error: Call to undefined function smtpmailer() in C:\xampp\htdocs\phpm\index.php on line 8 

ответ

0

Объявить функцию перед вызовом его.

2

Перед тем, как позвонить, вам необходимо объявить функцию с ее параметрами. На данный момент ваша программа ищет функцию smtpmailer() - но она еще не определена.

<?php 
if(isset($_POST['submit'])) { 
require_once('phpmailer/class.phpmailer.php'); 

$email=$_POST['email']; 
$subject1=$_POST['subject']; 
$message=$_POST['message']; 

function smtpmailer($to,$subject,$body) { 

    global $error; 
    $mail = new PHPMailer(); // create a new object 
    $mail->IsSMTP(); // enable SMTP 
    $mail->SMTPDebug = 1; // debugging: 1 = errors and messages, 2 = messages only 
    $mail->SMTPAuth = true; // authentication enabled 
    $mail->SMTPSecure = 'ssl'; // secure transfer enabled REQUIRED for Gmail 
    $mail->Host = "smtp.gmail.com"; 
    $mail->Port = 465; 
    $mail->Username = "aman****[email protected]"; 
    $mail->Password = "*****02589"; 

    $mail->From  = "aman***[email protected]"; 
    $mail->FromName = "Cor****tions"; 

    $mail->Subject = $subject; 
    $mail->Body = $body; 

    if(!$mail->Send()) { 
     $error = 'Mail error: '.$mail->ErrorInfo; 
     return false; 
    } else { 
     $error = 'Message sent!'; 
     return true; 
} 
} 
smtpmailer($email,$subject1,$message); 
} 

?><html><body> 
<form method="post" action="index.php"> 
Email: <input name="email" id="email" type="text" /><br /> 
Subject:<br /> 
<textarea name="subject" id="subject" rows="2" cols="40"></textarea><br /> 
Message:<br/> 
<textarea name="message" id="message" rows="15" cols="40"></textarea><br /> 
<input type="submit" value="Submit" name="submit"/> 
</form> 
</body> 
</html> 
+0

Он работает, но не получает почту на почтовый ящик или мусор. –

+0

Если вы пытаетесь локально, вы не можете настроить локальный Mailer? – Xatenev

+0

да, я пытаюсь на местном уровне, вы можете сказать мне, как настроить localmailer.? спасибо –