Php 向Joomla注册电子邮件添加图像

Php 向Joomla注册电子邮件添加图像,php,html,email,joomla,ini,Php,Html,Email,Joomla,Ini,我正在编辑Joomla的电子邮件,所以看起来好多了 现在我想编辑注册电子邮件,因为它只是纯文本 我发现了2个对电子邮件有影响的文件: com_users/models/registration.php 语言/com_users.ini 现在我已经能够使用语言文件编辑电子邮件中的文本,但我想在电子邮件中添加一个图像 我在PHP文件中尝试过: $emailBody= JText::sprintf( "<img style='wid

我正在编辑Joomla的电子邮件,所以看起来好多了 现在我想编辑注册电子邮件,因为它只是纯文本 我发现了2个对电子邮件有影响的文件:

com_users/models/registration.php
语言/com_users.ini

现在我已经能够使用语言文件编辑电子邮件中的文本,但我想在电子邮件中添加一个图像

我在PHP文件中尝试过: $emailBody=

                JText::sprintf(
                "<img style='width: 200px' src='imageurl'>
                <img src='imageurl'>".
            'COM_USERS_EMAIL_REGISTERED_WITH_ACTIVATION_BODY',
                $data['name'],
                $data['sitename'],
                $data['activate']
                $data['siteurl'],
                $data['username'],
                $data['password_clear']
            );
JText::sprintf(
"
".
“COM用户\u电子邮件\u在\u激活\u机构注册”,
$data['name'],
$data['sitename'],
$data['activate']
$data['siteurl'],
$data['username'],
$data['password\u clear']
);
但这是纯文本
是否可以将电子邮件设置为HTML电子邮件,以便显示HTML?

我不确定您到底在寻找什么,但如果可以,您可以检查以下代码

// include JHtml class
jimport( 'joomla.html.html' );

// for Image
$emailBody =JHTML::image($filepath, $alt);
// for text
$emailBody .=
JText::sprintf(
'COM_USERS_EMAIL_REGISTERED_WITH_ACTIVATION_BODY',
$data['name'],
$data['sitename'],
$data['activate'],
$data['siteurl'],
$data['username'],
$data['password_clear']
);

$emailBody=”
";
$emailBody=
短跑(
“COM用户\u电子邮件\u在\u激活\u机构注册”,
$data['name'],
$data['sitename'],
$data['ACTIVE'],
$data['siteurl'],
$data['username'],
$data['password\u clear']
);

请对图像使用正确的$filepath或scr。

您不能为JText::uu或JText::sprintf函数传递html内容/标记。在html内容中使用JHtml。这听起来很合理,我试过了,但是我无法让它工作。如果我只想在那里添加代码,我将如何使用它?我试图将JText::sprintf更改为JHtml::sprintf,它给出了一个空白页面,JHtml::u给出了一个错误500,当我搜索它时,我找不到任何方法来添加常规HTML,你必须先导入JHtml类。对于图像,请使用JHtml::image($args)。检查此链接我尝试了这两种选项,但在这两种情况下,它仍然只在电子邮件中显示纯文本代码,而不是HTML。我想也许Joomla在他们的注册电子邮件中不支持此选项。扫描显示您发送电子邮件所用的代码。发送电子邮件时启用htmlmode$mailer->isHTML(true);或者JFactory::getMailer()->sendMail($from、$fromname、$buyermail、$subject、$body,true);要发送带有HTML代码的电子邮件,请查看该链接
$emailBody = "<img style='width: 200px' src='imageurl'>
            <img src='imageurl'>";
$emailBody .=
 JText::sprintf(
'COM_USERS_EMAIL_REGISTERED_WITH_ACTIVATION_BODY',
$data['name'],
$data['sitename'],
$data['activate'],
$data['siteurl'],
$data['username'],
$data['password_clear']
    );