Go Premium for a chance to win a PS4. Enter to Win

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 890
  • Last Modified:

Phpmailer test_gmail.php returning a blank page

Hi,

I'm using phpMailer_v2.2.1 to send an email using my gmail account. However I get no error messages and the email is not sent.

Using the mail function, i.e. test_mail.php (in the phpMailers example) worked perfectly fine.

Thanks for your help.
<?php
 
//error_reporting(E_ALL);
error_reporting(E_STRICT);
 
date_default_timezone_set('America/Toronto');
 
include("class.phpmailer.php");
//include("class.smtp.php"); // optional, gets called from within class.phpmailer.php if not already loaded
 
$mail             = new PHPMailer();
 
$body             = $mail->getFile('contents.html');
$body             = eregi_replace("[\]",'',$body);
 
$mail->IsSMTP();
$mail->SMTPAuth   = true;                  // enable SMTP authentication
$mail->SMTPSecure = "ssl";                 // sets the prefix to the servier
$mail->Host       = "smtp.gmail.com";      // sets GMAIL as the SMTP server
$mail->Port       = 465;                   // set the SMTP port for the GMAIL server
 
$mail->Username   = "mygmail@gmail.com";  // GMAIL username
$mail->Password   = "mygmail";            // GMAIL password
 
$mail->AddReplyTo("sifu.chris@gmail.com","Chris Cass");
 
$mail->From       = "sifu.chris@gmail.com";
$mail->FromName   = "Chris Cass";
 
$mail->Subject    = "PHPMailer Test Subject via gmail";
 
//$mail->Body       = "Hi,<br>This is the HTML BODY<br>";                      //HTML Body
$mail->AltBody    = "To view the message, please use an HTML compatible email viewer!"; // optional, comment out and test
$mail->WordWrap   = 50; // set word wrap
 
$mail->MsgHTML($body);//;
 
$mail->AddAddress("myemail@yahoo.com", "John Doe");
 
$mail->AddAttachment("images/phpmailer.gif");             // attachment
 
$mail->IsHTML(true); // send as HTML
 
if(!$mail->Send()) {
  echo "Mailer Error: " . $mail->ErrorInfo;
} else {
  echo "Message sent!";
}
 
?>

Open in new window

0
Rassac
Asked:
Rassac
  • 5
  • 3
  • 2
1 Solution
 
hampus_bCommented:
And you don't get any errors if you change
//error_reporting(E_ALL);
error_reporting(E_STRICT);

to

error_reporting(E_ALL);
// error_reporting(E_STRICT);

and try again?
0
 
hampus_bCommented:
(because I get tons of different messages/errors - but never ever a blank page...)
0
 
RassacAuthor Commented:
Ooo yeee that changed everything hehe.

Here they go:


Warning: include(class.phpmailer.php) [function.include]: failed to open stream: No such file or directory in c:\Inetpub\wwwroot\phpMailer_v2.2.1\examples\test_gmail.php on line 8

Warning: include() [function.include]: Failed opening 'class.phpmailer.php' for inclusion (include_path='.;C:\php5\pear') in c:\Inetpub\wwwroot\phpMailer_v2.2.1\examples\test_gmail.php on line 8

Fatal error: Class 'PHPMailer' not found in c:\Inetpub\wwwroot\phpMailer_v2.2.1\examples\test_gmail.php on line 11
<?php
 
error_reporting(E_ALL);
//error_reporting(E_STRICT);
 
date_default_timezone_set('America/Toronto');
 
include("class.phpmailer.php");
//include("class.smtp.php"); // optional, gets called from within class.phpmailer.php if not already loaded
 
$mail             = new PHPMailer();
 
$body             = $mail->getFile('contents.html');
$body             = eregi_replace("[\]",'',$body);
 
$mail->IsSMTP();
$mail->SMTPAuth   = true;                  // enable SMTP authentication
$mail->SMTPSecure = "ssl";                 // sets the prefix to the servier
$mail->Host       = "smtp.gmail.com";      // sets GMAIL as the SMTP server
$mail->Port       = 465;                   // set the SMTP port for the GMAIL server
 
$mail->Username   = "mygmail@gmail.com";  // GMAIL username
$mail->Password   = "mygmail";            // GMAIL password
 
$mail->AddReplyTo("mygmail@gmail.com","Joe");
 
$mail->From       = "mygmail@gmail.com";
$mail->FromName   = "Joe Doe";
 
$mail->Subject    = "PHPMailer Test Subject via gmail";
 
//$mail->Body       = "Hi,<br>This is the HTML BODY<br>";                      //HTML Body
$mail->AltBody    = "To view the message, please use an HTML compatible email viewer!"; // optional, comment out and test
$mail->WordWrap   = 50; // set word wrap
 
$mail->MsgHTML($body);//;
 
$mail->AddAddress("myemail@yahoo.com", "John Doe");
 
$mail->AddAttachment("images/phpmailer.gif");             // attachment
 
$mail->IsHTML(true); // send as HTML
 
if(!$mail->Send()) {
  echo "Mailer Error: " . $mail->ErrorInfo;
} else {
  echo "Message sent!";
}
 
?>

Open in new window

0
Concerto Cloud for Software Providers & ISVs

Can Concerto Cloud Services help you focus on evolving your application offerings, while delivering the best cloud experience to your customers? From DevOps to revenue models and customer support, the answer is yes!

Learn how Concerto can help you.

 
jodibean28Commented:
Is your test_gmail.php file in a different folder than the test_mail.php?
0
 
RassacAuthor Commented:
No in the same folder.
0
 
jodibean28Commented:
the error is complaining that it doesn't know what phpmailer is...does the test_mail.php that DOES work have the same include?  
include("class.phpmailer.php");

0
 
RassacAuthor Commented:
Yes they are examples that come with the package. I just changed the email adresses.
0
 
hampus_bCommented:
0
 
RassacAuthor Commented:
Hi,

I found the problem... the downloaded files had a slight bug. The included files had the incorrect path.

Thanks.
0
 
RassacAuthor Commented:
Thanks. :)
0

Featured Post

Concerto Cloud for Software Providers & ISVs

Can Concerto Cloud Services help you focus on evolving your application offerings, while delivering the best cloud experience to your customers? From DevOps to revenue models and customer support, the answer is yes!

Learn how Concerto can help you.

  • 5
  • 3
  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now