Johnuser4418813
Johnuser4418813

Reputation: 1

Unable to send mail using phpmailer

can someone help me to find what is wrong with the following code that i used to send mail in php.

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";
    }

?>

i am getting the following error:- 2015-01-05 04:32:10 Invalid address: manikandan i am using php 5.2.2 ,Apache 2.0 Handler in windows.

Upvotes: 0

Views: 1691

Answers (3)

smuhero
smuhero

Reputation: 19

To resolved this just turn on access for less secure app in your google account. Hope this helps.

Upvotes: 0

Mathew Tinsley
Mathew Tinsley

Reputation: 6966

setFrom expects an email address as the first parameter. Try:

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

If you also want to set a proper name, use the second parameter

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

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

Also, I think you should be using the autoloader instead of including the PHPMailer class directly.

Upvotes: 2

Priyank
Priyank

Reputation: 3868

try this:

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

Full code:

<?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!";
}
?>  

Upvotes: 0

Related Questions