我是php的新手。我正在尝试使用PHP Pear Email系统发送经过身份验证的电子邮件。每当我使用gmail smtp发送电子邮件时,我都会收到以下错误
致命错误:在第255行的C:\ wamp \ bin \ php \ php5.4.16 \ pear \ Mail.php中调用未定义的函数parseAddressList()
以下是我的申请代码
<!--
Sending an email using gmail smtp server, with authentication, ssl version
eMail With Authentication SSL Version
-->
<?php
// Pear Mail Library
require_once "Mail.php";
require_once "Mail/RFC822.php";
$from = 'me1@gmail.com';
$to = 'me2@hotmail.com';
$subject = 'Hi!';
$body = "Hi,\n\nHow are you?";
$headers = array(
'From' => $from,
'To' => $to,
'Subject' => $subject
);
$smtp = Mail::factory('smtp', array(
'host' => 'ssl://smtp.gmail.com',
'port' => '465',
'auth' => true,
'username' => 'me1@gmail.com',
'password' => 'password'
));
$mail = $smtp->send($to, $headers, $body);
if (PEAR::isError($mail)) {
echo('<p>' . $mail->getMessage() . '</p>');
} else {
echo('<p>Message successfully sent!</p>');
}
?>
有人可以提供有关如何使用PHP Pear邮件包通过Gmail发送经过身份验证的电子邮件的建议吗?在此先感谢。
答案 0 :(得分:0)
我的问题已经解决。谢谢你的指示。
我实际上在Mail.php文件中犯了一个错误。正在编写另一个stackoverflow帖子PHP: PEAR mail help 我在Mail.php中粘贴了以下文字
$ Mail_RFC822 = new Mail_RFC822(); $ addresses = $ Mail_RFC822-&gt; parseAddressList($ recipients,'localhost',false);
但有些怎么样 - 失踪所以上面的行变成了
$ Mail_RFC822 = new Mail_RFC822(); $ addresses = $ Mail_RFC822&gt; parseAddressList($ recipients,'localhost',false);
这是导致错误的原因。
现在我已经更正了,并且能够发送电子邮件。
非常感谢。