2017-07-13 139 views
1

在.ini文件中定義的電子郵件正文PLG_USER_JOOMLA_NEW_USER_EMAIL_BODY(字符串)。它是純文本更改爲Joomla中的電子郵件默認字體系列

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'); 
    } 

回答

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); 
+0

不幸的是它不起作用。我想可能是因爲標籤在Joomla郵件中不存在。 –

+0

試用或去電子郵件並檢查電子郵件中使用哪些標籤。但絕對是絕對不能超越的 –

0

我找到了解決辦法。我們需要先將純文本轉換爲HTML,然後才能正常工作。

$mail->isHTML(TRUE); 

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

使用div標籤來包裝電子郵件正文文本並將CSS應用於div標籤。

相關問題