gpt4 book ai didi

php - 使用 PEAR Mail 扩展时,可以使 PHP 忽略静态方法错误吗?

转载 作者:可可西里 更新时间:2023-11-01 00:51:02 25 4
gpt4 key购买 nike

我正在使用 PHP 5 的 PEAR Mail 扩展。我在发送邮件时遇到了困难,因为它返回了这个错误:Non-static method Mail::factory() should not be called statically

这是我的代码:

$from = "Stephen <stephen@gmail.com>";
$to = "helper <helperjohn@gmail.com>";
$subject = "Email Test!";
$body = "email test body";

$host = "smtp.nvrforget.com";
$username = "username@nvrforget.com";
$password = "*************";

$headers = array ('From' => $from,
'To' => $to,
'Subject' => $subject);
$smtp = Mail::factory('smtp',
array ('host' => $host,
'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>");
}

我没有收到邮件。

如果可以的话,我会使用 Swiftmailer,但我的虚拟主机不允许我使用。

最佳答案

由于 PEAR 仍然保持对 PHP4 的支持,您可以...

  1. 创建要使用的邮件对象,例如

    $mail = new Mail;
    $smtp = $mail->factory(...

  2. 禁用 E_STRICT 错误

    error_reporting(E_ALL ^ E_STRICT);

如果您坚持使用 PEAR,由于内部静态调用其他非静态方法,后者可能更可取。

关于php - 使用 PEAR Mail 扩展时,可以使 PHP 忽略静态方法错误吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7265187/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com