John Doe John Doe - 1 year ago 38
PHP Question

How do I send emails through PHP to GMail?

I'm guessing that this:


$emailTo = '';
$subject = 'I hope this works!';
$body = 'Blah';

mail($emailTo, $subject, $body, $headers);


is not going to cut it. I searched for ways that I can send to email with SMTP auth and mail clients and programs such as PHPMailer, but I don't have a concise and direct answer yet thats helpful. Basically, I want a way to send emails to gmail, hotmail, etc (which will be my email) from another email (sender) through a form on my website


  1. Do I need to download a 3rd party library to this?

  2. If not, how can I change the code above to make it work.


Answer Source

Use PHPMailer library.It is better than use mail native function because in PHPMailer you can use user authentication to avoid to send the email to spam.You can use this library without to configure a mail server. You can download in this link

See an example:

$mail             = new PHPMailer();

$mail->IsSMTP(); // telling the class to use SMTP
$mail->Host       = ""; // SMTP server
$mail->SMTPDebug  = 2;                     // enables SMTP debug information (for testing)
                                           // 1 = errors and messages
                                           // 2 = messages only
$mail->SMTPAuth   = true;                  // enable SMTP authentication
$mail->SMTPSecure = "tls";                 
$mail->Host       = "";      // SMTP server
$mail->Port       = 587;                   // SMTP port
$mail->Username   = "";  // username
$mail->Password   = "yourpassword";            // password

$mail->SetFrom('', 'Test');

$mail->Subject    = "I hope this works!";


$address = "";
$mail->AddAddress($address, "Test");

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