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

时间:2017-07-13 04:33:48

标签: 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 = 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');
    }

3 个答案:

答案 0 :(得分:1)

我认为str_replace会做一个技巧

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

答案 1 :(得分:0)

我找到了解决方案。我们需要先将纯文本转换为HTML,然后才能正常工作。

$mail->isHTML(TRUE); 

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

答案 2 :(得分:0)

使用div标签包装电子邮件正文文本并将CSS应用于div标签。