我正在尝试使用 php 脚本发送电子邮件,但收到错误这是我的代码。我正在使用 xampp netbeans 和 windows。我在 php.ini 文件中包含了 pear 但仍然有错误任何想法
require_once "Mail.php";
$from = "[email protected]";
$to = "'$email'";
$subject = "Online book store information";
$body = "This is your Id '$userID' click <a href =../index.php > here </a> to change to go to the website "; //todo change URL to make it work when it is online
$host = "ssl://smtp.gmail.com";
$port = "993";
$host = "smtp.gmail.com";
$username = "[email protected]";
$password = "";
$headers = array('From' => $from,
'To' => $to,
'Subject' => $subject);
$smtp = Mail::factory('smtp', array('host' => $host,
'port' => $port,
'auth' => true,
'username' => $username,
'password' => $password));
$mail = $smtp->send($to, $headers, $body);
if (PEAR::isError($mail)) {
echo("<p>" . $mail->getMessage() . "</p>");
} else {
echo("<p>Message successfully sent!</p>");
}
这是我收到的错误:
严格标准:非静态方法 Mail::factory() 不应在 C:\xampp\htdocs\OnlineBookStore\Store\Register.php 第 85 行静态调用
严格标准:非静态方法 PEAR::isError() 不应静态调用,假设 $this 来自 C:\xampp\php\PEAR\Mail\smtp.php 中第 365 行的不兼容上下文
严格标准:非静态方法 PEAR::isError() 不应静态调用,假设 $this 来自 C:\xampp\php\PEAR\Net\SMTP.php 第 450 行的不兼容上下文
严格标准:非静态方法 PEAR::isError() 不应静态调用,假设 $this 来自 C:\xampp\php\PEAR\Net\SMTP.php 第 467 行的不兼容上下文
我刚刚遇到了同样的问题并使用以下方法解决了它:
@require_once "Mail.php";
...
$smtp = @Mail::factory('smtp', array('host' => $host,
'port' => $port,
'auth' => true,
'username' => $username,
'password' => $password));
$mail = @$smtp->send($to, $headers, $body);
if (@PEAR::isError($mail)) {
请注意,我在前面添加了一个@
所有梨/邮件电话。
我更喜欢这个解决方案而不是更改一般错误消息设置,因为我不想看到梨/邮件警告,但我确实想看到适用于我自己的代码的警告。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)