我想使用我的免费 Gmail 作为发件人通过 PHP 脚本发送电子邮件From
。如何做到这一点以使 SPF 记录有效(就好像邮件实际上是从 Gmail 发送的一样)?
IMB
问问题
12944 次
3 回答
5
还有许多其他库。他们之中有一些是 :
- http://phpmailer.worxware.com/
- http://pear.php.net/package/Mail(这是Pear包)
- https://github.com/denvertimothy/ThriveSMTP
- http://swiftmailer.org/
您可以使用这些库中的任何一个使用 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 回答