如何通过PHP向GMail发送电子邮件?

时间:2016-08-04 21:08:54

标签: php email

我猜这个:

<?php

    $emailTo = 'user1@gmail.com';
    $subject = 'I hope this works!';
    $body = 'Blah';
    $headers='From: user@gmail.com'

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

?>

不会削减它。我搜索了可以通过SMTP身份验证和邮件客户端以及PHPMailer等程序发送到电子邮件的方式,但我没有简明扼要的答案,但这些内容很有帮助。基本上,我想通过我的网站上的表格从另一封电子邮件(发件人)发送电子邮件到gmail,hotmail等(这将是我的电子邮件)

问题:

  1. 我是否需要下载第三方库?
  2. 如果没有,我如何更改上面的代码才能使其正常工作。
  3. 谢谢!

1 个答案:

答案 0 :(得分:6)

使用PHPMailer库。它比使用邮件本机功能更好,因为在PHPMailer中您可以使用用户身份验证来避免将电子邮件发送到垃圾邮件。您可以使用此库而无需配置邮件服务器。您可以在此链接https://github.com/PHPMailer/PHPMailer

下载

查看示例:

$mail             = new PHPMailer();

$mail->IsSMTP(); // telling the class to use SMTP
$mail->Host       = "mail.yourdomain.com"; // 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.gmail.com";      // SMTP server
$mail->Port       = 587;                   // SMTP port
$mail->Username   = "yourusername@gmail.com";  // username
$mail->Password   = "yourpassword";            // password

$mail->SetFrom('user@gmail.com', 'Test');

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

$mail->MsgHTML('Blah');

$address = "test@test.com";
$mail->AddAddress($address, "Test");

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