2015-01-05 7 views
0

Может кто-нибудь помочь мне найти, что не так, со следующим кодом, который я использовал для отправки почты в php.Невозможно отправить почту с помощью phpmailer

error_reporting(E_STRICT); 
date_default_timezone_set('asia/kolkata'); 
require_once('class.phpmailer.php'); 
$mail = new PHPMailer(); 
$mail->IsSMTP(); 
$mail->SMTPDebug = 1; 
$mail->SMTPAuth = true; 
$mail->SMTPSecure = 'ssl'; 
$mail->Host = "smtp.gmail.com"; 
$mail->Port = 465; 
$mail->IsHTML(true); 
$mail->Username = "[email protected]"; 
$mail->Password = "mypassword"; 
$mail->From = ("[email protected]"); 
$mail->SetFrom("manikandan"); 
$mail->Subject = "Test"; 
$mail->Body = "hello"; 
$mail->AddAddress("[email protected]"); 
if(!$mail->Send()) 
    { 
    echo "Mailer Error: " . $mail->ErrorInfo; 
    } 
    else 
    { 
    echo "Message has been sent"; 
    } 

?> 

я получаю следующее сообщение об ошибке: - 2015-01-05 04:32:10 Invalid address: manikandan Я использую PHP 5.2.2, Apache 2.0 Handler в окнах.

+0

Возможный дубликат отправки электронной почты с помощью Gmail SMTP-сервера через PHP Mailer (http://stackoverflow.com/questions/16048347/send-email-using-gmail-smtp-server-through-php-mailer) –

+0

yes Я сделал и попытался изменить php.ini также – Johnuser4418813

+0

Если он говорит 'Недействительный адрес: manikandan' Я думаю, ваша проблема' $ mail-> SetFrom ("manikandan"); '. Измените это на '$ mail-> SetFrom (" [email protected] ");' – Mooseknuckles

ответ

2

setFrom ожидает адрес электронной почты как первый параметр. Попробуйте:

$mail->setFrom('[email protected]'); 

Если вы хотите установить правильное имя, используйте второй параметр

$mail->setFrom('[email protected]', 'John Smith'); 

http://phpmailer.github.io/PHPMailer/classes/PHPMailer.html#method_setFrom

Кроме того, я думаю, вы должны использовать автозагрузчик вместо того, чтобы в том числе PHPMailer класса.

+0

Я попробовал это, но ничего не отобразил. – Johnuser4418813

+0

Нет сообщения об ошибке? Если он не отображает одно и то же сообщение об ошибке, но все еще не работает, это означает, что у вас есть другая проблема. –

+0

Я так думаю @mtinsley Я пробовал все, что знаю, но я не мог исправить это, поскольку я новичок в программировании – Johnuser4418813

0

попробовать это:

$mail->setFrom('[email protected]', 'manikandan'); //setFrom expect email 

Полный код:

<?php require 'PHPmailer/PHPMailerAutoload.php'; 

//Create a new PHPMailer instance 
$mail = new PHPMailer(); 
//Tell PHPMailer to use SMTP 
$mail->IsSMTP(); 
//Enable SMTP debugging 
// 0 = off (for production use) 
// 1 = client messages 
// 2 = client and server messages 
$mail->SMTPDebug = 2; 
//Ask for HTML-friendly debug output 
$mail->Debugoutput = 'html'; 
//Set the hostname of the mail server 
$mail->Host = 'smtp.gmail.com'; 
//Set the SMTP port number - 587 for authenticated TLS, a.k.a. RFC4409 SMTP submission 
$mail->Port = 465; 
//Set the encryption system to use - ssl (deprecated) or tls 
$mail->SMTPSecure = 'ssl'; 
//Whether to use SMTP authentication 
$mail->SMTPAuth = true; 
//Username to use for SMTP authentication - use full email address for gmail 
$mail->Username = "[email protected]"; 
//Password to use for SMTP authentication 
$mail->Password = "mypassword"; 
//Set who the message is to be sent from 
$mail->setFrom('[email protected]', 'manikandan'); 
//Set an alternative reply-to address 
$mail->addReplyTo('[email protected]', 'peter'); 
//Set who the message is to be sent to 
$mail->addAddress('[email protected]', 'peter1991'); 
//Set the subject line 
$mail->Subject = 'Test'; 
//Read an HTML message body from an external file, convert referenced images to embedded, 
//convert HTML into a basic plain-text alternative body 
    $mail->Body  = "Hi ,! Welcome to PHP mail function. \n\n ."; 
//Replace the plain text body with one created manually 
    $mail->AltBody = 'This is a plain-text message body'; 
//Attach an image file 
//$mail->addAttachment('images/phpmailer_mini.gif'); 
$mail->SMTPAuth = true; 
//send the message, check for errors 
if (!$mail->send()) { 
echo "Mailer Error: " . $mail->ErrorInfo; 
} else { 
echo "Message sent!"; 
} 
?> 
+0

спасибо @Priyank, но он не работает – Johnuser4418813

+0

У вас возникли какие-либо ошибки? – Priyank

+0

no error ничего не отображает – Johnuser4418813

0

Чтобы разрешить это просто включить доступ для менее безопасного приложения в вашем аккаунте Google. Надеюсь это поможет.

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