通过PHP从免费的Gmail帐户发送

时间:2013-04-15 17:53:27

标签: email php gmail dns dkim

我想使用我的免费Gmail作为From发件人通过PHP脚本发送电子邮件。如何做到这一点,以便SPF记录有效(好像邮件实际上是从Gmail发送的)?

3 个答案:

答案 0 :(得分:5)

还有许多其他图书馆。其中一些是:

您可以使用SMTP使用任何这些库

从PHP发送邮件

使用带有PHPMailer库的Gmail帐户发送邮件的示例如下:

//include the file
require_once('class.phpmailer.php');

$phpmailer          = new PHPMailer();


$phpmailer->IsSMTP(); // telling the class to use SMTP
$phpmailer->Host       = "ssl://smtp.gmail.com"; // SMTP server
$phpmailer->SMTPAuth   = true;                  // enable SMTP authentication
$phpmailer->Port       = 465;          // set the SMTP port for the GMAIL server; 465 for ssl and 587 for tls
$phpmailer->Username   = "yourname@yourdomain"; // Gmail account username
$phpmailer->Password   = "yourpassword";        // Gmail account password

$phpmailer->SetFrom('name@yourdomain.com', 'First Last'); //set from name

$phpmailer->Subject    = "Subject";
$phpmailer->MsgHTML($body);

$phpmailer->AddAddress($to, "To Name");

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

希望这有助于你

答案 1 :(得分:1)

作为解决方案之一,您可以使用Zend Framework Zend_Mail

    $email_conf = array(
        'auth' => 'login',
        'username' => 'your_login',
        'password' => 'your_password',
        'ssl' => 'tls',
        'port' => '587'
    );
    $transport = new Zend_Mail_Transport_Smtp('smtp.gmail.com', $email_conf);
    Zend_Mail::setDefaultTransport($transport);

    $mailer = new Zend_Mail('utf-8');
    $mail->addTo($recipientEmail); 
    $mail->setSubject($subject);
    $mailer->setBodyHtml($html);
    $mail->send();

答案 2 :(得分:0)

您必须通过Google的SMTP服务器发送消息。如果您需要纯PHP,请找到一个SMTP库(我只知道来自PEAR的Net_SMTP)并使用Gmail为您提供的常用设置为smtp.gmail.com配置它。