2012-06-15 5 views
1

Я пытаюсь отправить почту с помощью phpMailer. Это мой код:Пустая страница после отправки почты с phpMailer

<?php 
    require_once('phpmailer/class.phpmailer.php'); 
    $mail = new PHPMailer(true); 

    $mail->PluginDir = "phpmailer/"; 
    $mail->IsSMTP(); 
    $mail->SMTPAuth = true; // enable SMTP authentication 
    $mail->SMTPSecure = "ssl"; // sets the prefix to the servier 
    $mail->Host = "smtp.gmail.com"; 
    $mail->Port = 465; 
    $mail->Username = "[email protected]"; 
    $mail->Password = "xxxxx"; 

    $mail->SetFrom('[email protected]', 'Nasze imie i nazwisko'); 

    $mail->AddAddress("[email protected]"); // ADRESAT 

    $mail->Subject = 'Test message'; 

    // w zmienną $text_body wpisujemy treść maila 
    $text_body = "Hello, \n\n"; 
    $text_body .= "Sending succesfully, \n"; 
    $text_body .= "PHPMailer"; 

    $mail->Body = $text_body; 

    if(!$mail->Send()) 
    echo "There has been a mail error <br>"; 
    echo $mail->ErrorInfo."<br>"; 

    // Clear all addresses and attachments 
    $mail->ClearAddresses(); 
    $mail->ClearAttachments(); 
    echo "mail sent <br>"; 
?> 

Mail не отправил и в браузере у меня есть пустая страница, без сообщения. Что здесь не так?

С наилучшими пожеланиями, Dagna

ответ

4

Mail didn't send and in browser i have empty page, without message. What is here wrong?

Попробуйте установить проверку ошибок на (только для развития):

ini_set('display_errors', true); 
error_reporting(1); 

Помещенный выше двух линий на верхней части страницы. Это должно дать вам некоторое сообщение, например, какая именно ошибка.

обновление

Я изменил Connect функция class.smtp.php файла, как это, чтобы он работал для себя:

public function Connect($host, $port = 0, $tval = 30) { 

    $host = "ssl://smtp.gmail.com"; 
    $port = 465; 

    // other code 

И моя электронная почта отправка код был, который работает вне;

require("PHPMailer_v5.1/class.phpmailer.php"); 

$mail = new PHPMailer(); 
$mail->IsSMTP(); // send via SMTP 
$mail->SMTPAuth = true; // turn on SMTP authentication 
$mail->Username = "[email protected]"; // SMTP username 
$mail->Password = "xxxxxxxxx"; // SMTP password 
$webmaster_email = "[email protected]"; //Reply to this email ID 
$email = "[email protected]"; // Recipients email ID 
$name = "Sarfraz"; // Recipient's name 
$mail->From = $webmaster_email; 
$mail->FromName = "Local Mail from Sarfraz"; 
$mail->AddAddress($email, $name); 
$mail->AddReplyTo($webmaster_email,"Webmaster"); 
$mail->WordWrap = 50; // set word wrap 
$mail->IsHTML(true); // send as HTML 
$mail->Subject = "I am a local mail !"; 
$mail->Body = "Hey What's up? Have fun :)"; //HTML Body 

if(!$mail->Send()) 
{ 
    echo "Mailer Error: " . $mail->ErrorInfo; 
} 
else 
{ 
    echo "Message has been sent"; 
} 
+0

Неустранимая ошибка: исключение исключения «phpmailerException» с сообщением «Ошибка SMTP: не удалось подключиться к SMTP-хосту». in /(...)/public_html/phpmailer/class.phpmailer.php:705 Трассировка стека: # 0 /(...)/public_html/phpmailer/class.phpmailer.php(613): PHPMailer-> SmtpConnect() # 1 /export/w3home/w3biocon/public_html/phpmailer/class.phpmailer.php(516): PHPMailer-> SmtpSend ('Date: Fri, 15 J ...', 'Cze ????, chyba ... ') # 2 /export/w3home/w3biocon/public_html/send_mail.php(29): PHPMailer-> Отправить() # 3 {main} в /export/w3home/w3biocon/public_html/phpmailer/class.phpmailer.php on line 705 – cadi2108

+0

@ user1109813: Попробуйте указать адрес 'host' как' ssl: // smtp.gmail.com', а вместо '$ mail-> Host =" smtp.gmail.com ";', try '$ mail-> Host = "ssl: //smtp.gmail.com"; ' – Sarfraz

+1

@ user1109813 yup, теперь вы получили свою ошибку' SMTP Error: не удалось подключиться к SMTP-хосту'. Теперь вы можете «отправить электронную почту по электронной почте через php и gmail» \ o/ – Shikiryu

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