0

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

4

3 回答 3

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

希望这可以帮助你

于 2013-04-15T18:34:50.953 回答
1

作为解决方案之一,您可以使用 Zend FrameworkZend_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();
于 2013-04-15T18:40:49.663 回答
0

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

于 2013-04-15T17:59:44.250 回答