3

我编写了一个用于发送邮件的脚本,它被发送到正确的电子邮件地址,但是以 HTML 代码的形式,我不知道为什么它不能正常工作,因为相同的代码在 Joomla 2.5 中工作正常。

这是我的代码:

$mailer = JFactory::getMailer();
$config = JFactory::getConfig();
$subject = 'Account Created';
$from   = $config->get('mailfrom');
$fromname = $config->get( 'fromname' ); 

$body = "<p>Hello Test F,</p><br/><p>Thank you for registering at Deals&offers. Your account is created and activated.</p><br/>You may login to ".JURI::root().'index.php'." using the following username and password:</br><p>Username: ".$fname."</p><p>Password: ".$pwd."/p><br/><p><b>Note:</b> It is recomended to change your password after first login.</p>";

$sender = array( 
    $from,
    $fromname
);

$mailer->setSender($sender); 

$mailer->addRecipient($buyerEmail);

$mailer->setSubject($subject);

$mailer->setBody($body);

$send = $mailer->Send();

if ( $send !== true ) {
    echo 'Error sending email: ' . $send->message;
} else {
    echo 'Mail sent';
}

我也尝试过如下方法,但得到了相同的结果。

JFactory::getMailer()->sendMail($from,$fromname,$buyerEmail, $subject, $body);

我在邮件中得到的输出是:

<p>Hello Test F,</p><br/><p>Thank you for registering at Deals&offers. Your account is created and activated.</p><br/>You may login to http://server.ashoresystems.com/~dealsand/index.php using the following username and password:</br><p>Username: rowdy</p><p>Password: lX1XZghF/p><br/><p><b>Note:</b> It is recomended to change your password after first login.</p>

我不确定我做错了什么。如果有人有任何解决方案,请提供帮助。

4

1 回答 1

6

尝试这个..

对于您的第一种方法...您必须设置

$mailer->isHTML(true);

参考:http ://docs.joomla.org/Sending_email_from_extensions

对于您的第二种方法...

发送邮件功能:

sendMail($from, $fromname, $recipient, $subject, $body, $htmlmode=0, $cc=null, $bcc=null, $attachment=null, $replyto=null, $replytoname=null )

所以你的代码应该是

JFactory::getMailer()->sendMail($from,$fromname,$buyerEmail, $subject, $body,true);
于 2013-12-31T04:49:50.080 回答