راه های تماس :
1 ابتدا با شناسه کاربری خود وارد سایت شوید
2 روی کلید سبز رنگ بالای سایت کلیک کنید
3منوی ارسال پست جدیدرا کلیک کنید .
  • ساعات مجاز برای تماس : 10 تا 16
  • روزهای کاری : شنبه تا 4شنبه
  • ایمیل : data(@)rastchin.com
 
اگر مشکل شما همچنان برقرار است یا سوالات دیگری دارید می توانید با تلگرام ما در ارتباط باشید
 

راستچین کردن ایمیل های جوملا، کامپوننت ها و افزونه ها

5
1 1 1 1 1
رتبه 5.00 (3 رای)

اگر وب سایت فارسی دارید که با جوملا طراحی شده و از آن برای کاربران ایمیل ارسال می شود، حتما دیده اید که ایمیل ها بصورت چپ چین ارسال می شوند حتی اگر متن ایمیل پارسی باشد. حال اگر محتوای ایمیل شامل عبارات فارسی و انگلیسی باشد متن ایمیل بهم می ریزد. امیدواریم در نسخه های جدید تر جوملا این مشکل که راه حل بسیار ساده ای نیز دارد حل شود! بهر رو در این مقاله با ارائه یک راه حل کوتاه و سریع کلیه ایمیل هایی که از جوملا ارسال می شوند را راستچین می کنیم.

در نظر داشته باشید، لازم نیست برای هر کامپوننتی که نصب می کنید مانند :

  • AcyMailing
  • Breezing Forms
  • DJ-Classifieds
  • Easy Discussion
  • Jcomments
  • Komento

و... اقدام به یافتن فایل ارسال کننده ایمیل و راستچین کردن آن بکنید. این کار وقت گیر است زیرا بایستی از میان صدها فایل، فایل تنظیمات ایمیل کامپوننت را بیابید. اگر کامپوننت شما استاندارد طراحی شده باشد، برای ارسال ایمیل نهایی، از کلاس جوملا یعنی JMail استفاده خواهد کرد. پس کافیست مراحل زیر را طی کنید :

1 فایل مسیر libraries\joomla\mail\mail.php  را باز کنید

2 حدود خط 264 در تابع setBody مقدار زیر را بیابید :

$this->Body = JMailHelper::cleanText($content);

 

3 در خط بعد از دستور بالا، کل عبارت زیر را وارد کنید :

// FORCE rtl
$this->Body='<div style="direction:rtl;text-align:right;font-family:b nazanin,b mitra,mitra,nazanin">'.$this->Body.'</div>' ;
//$this->Body=str_replace("\n", "<br>", $this->Body);
//END OF hack :: FORCE rtl

 همانطور که مشاهده می شود در خط اول کل متن ایمیل را راستچین و فونت نازنین به آن اضافه کردیم.در خط بعد هم کلیه کاراکترهای \n را که مربوط به ایجاد یک خط جدید است (برای حالت غیر html) به تگ br تبدیل کردیم. اگر در "ایمیل دریافتی شما" فاصله خط ها زیاد بود می توانید خط سوم کد بالا را حذف فرمایید.

4 در حوالی خط 650 و بعد از دستور $this->isSMTP() کدهای زیر را وارد کنید.به کمک دستور زیر جوملا را مجبور به ارسال ایمیل html می کنیم

//mosi hack :: force emails to html
$this->IsHTML(true);
//End of hack

 

5 در حوالی خط 685 تابع sendMail وجود دارد که باید در ابتدای آن کدهای زیر را وارد کنید.به کمک دستور زیر جوملا را مجبور به ارسال ایمیل html می کنیم

//mosi hack :: force HTML
$mode = true;
/*end of hack */

 

 

در تصاویر بالا محل قرار گیری کد و نتیجه قابل مشاهده است. و ازین پس برای هر وب سایت که با جوملا طراحی می کنید کافیست فایل جدید mail.php را جایگزین فایل اصلی کنید. در نظر داشته باشید ممکن است در بروزرسانی های جوملا مجدد این فایل با نسخه اصلی جایگزین شود و شما باید مجدد این تغییر را دستی انجام دهید.

orange در جوملا 3.8 مسیر فایل مورد نظر به libraries\src\Mail تغییر کرده. همچنین شماره خطوط قدری افزایش یافته است.

orange اگر نمی خواهید مراحل بالا را طی کنید، می توانید از فایل های  بروز شده زیر استفاده کنید :

دانلود فایل تغییر یافته mail.php برای جوملا 3.7 و پایین تر

دانلود فایل تغییر یافته mail.php برای جوملا 3.8

دانلود فایل تغییر یافته mail.php برای جوملا 2.5

بالا