Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/296.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 更改为Joomla中电子邮件的默认字体系列_Php_Web_Joomla - Fatal编程技术网

Php 更改为Joomla中电子邮件的默认字体系列

Php 更改为Joomla中电子邮件的默认字体系列,php,web,joomla,Php,Web,Joomla,中的电子邮件正文在.ini文件中的PLG_USER_JOOMLA_NEW_USER_email_body(字符串)中定义。它是纯文本 PLG_USER_JOOMLA_NEW_USER_EMAIL_BODY= "Welcome to join XXXXXXXXXX %s %s %s %s %s" 我想知道我可以在哪里添加css代码,以便设置电子邮件的字体系列 这是系统构建电子邮件的地方。我不确定是否应该修改这个文件 // Compute the mail body. $emailBody

中的电子邮件正文在.ini文件中的PLG_USER_JOOMLA_NEW_USER_email_body(字符串)中定义。它是纯文本

PLG_USER_JOOMLA_NEW_USER_EMAIL_BODY= "Welcome to join XXXXXXXXXX %s %s %s %s %s"
我想知道我可以在哪里添加css代码,以便设置电子邮件的字体系列

这是系统构建电子邮件的地方。我不确定是否应该修改这个文件

 // Compute the mail body.
   $emailBody = JText::sprintf(
        'PLG_USER_JOOMLA_NEW_USER_EMAIL_BODY',
        $user['name'],
        $this->app->get('sitename'),
        JUri::root(),
        $user['username'],
        $user['password_clear']
    );

   $mail = JFactory::getMailer()
        ->setSender(
            array(
                $this->app->get('mailfrom'),
                $this->app->get('fromname')
            )
        )
        ->addRecipient($user['email'])
        ->setSubject($emailSubject)
        ->setBody($emailBody);

    if (!$mail->Send())
    {
       $this->app->enqueueMessage(JText::_('JERROR_SENDING_EMAIL'), 'warning');
    }

我认为stru_替换会起作用

 $new_body=str_replace("<body>","<body style='font-family:Georgia, Serif !important'",$email_body);
   ->addRecipient($user['email'])
   ->setSubject($emailSubject)
   ->setBody($new_body);

$new\u body=str\u replace(“,”我找到了解决方案。我们需要先将纯文本转换为HTML,然后再执行任何操作

$mail->isHTML(TRUE); 

$html= array();
$html[] = '<div style="background: red">.$emailBody.</div>';
$mail->setBody(implode("\n", $html));
$mail->Send();
$mail->isHTML(TRUE);
$html=array();
$html[]='.$emailBody';
$mail->setBody(内爆(“\n”,$html));
$mail->Send();

使用div-tag包装电子邮件正文文本,并将CSS应用于div-tag。

不幸的是,它不起作用。我猜可能是因为Joomla mail中不存在标记。请尝试使用它或转到电子邮件,检查电子邮件中使用了哪些标记。但最明显的是,正文标记不能被超越