我正在尝试从joomla模型使用phpmailer发送邮件,这是代码
require '/opt/cdf/ThemeComponent/models/vendor/autoload.php';
require("/opt/cdf/ThemeComponent/models/PHPMailer-master/src/Exception.php");
require("/opt/cdf/ThemeComponent/models/PHPMailer-master/src/PHPMailer.php");
require("/opt/cdf/ThemeComponent/models/PHPMailer-master/src/SMTP.php");
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;
$email = new PHPMailer();
$email->IsSMTP();
$email->SMTPSecure = false;
$email->SMTPAutoTLS = false;
$email->Host = "stage1.dmz.gr";
$email->Mailer = "smtp";
$email->Port = 25;
$email->CharSet = 'UTF-8';
$email->Encoding = 'base64';
$email->IsHTML(true);
$email->SetFrom("[email protected]");
$email->Subject = "ok";
$email->Body = "<b>asdf</b>";
$email->AddAddress("[email protected]");
$email->Send();
此代码在joomla目录中运行良好,但是当我在joomla模型中使用它时,它抛出http错误号。 500,如果我推荐行use PHPMailer\PHPMailer\PHPMailer;
,则错误消失了,但邮件未发送。
use
语句用于将命名空间类导入当前的命名空间,并且您可以read the docs on it。它是在PHP 5.3中引入的,因此此错误表明您正在运行PHP 5.2或更旧的版本,这是一个[[非常非常糟糕的主意,因为它尚未收到over 8 years的安全补丁。您的服务器容易受到许多已知攻击的攻击,因此您应<。